沫言|嫌多(线程/进程)太慢?嫌Scrapy太麻烦?没事,异步高调走起
并发与并行:(偏向于多线/进程方面的原理)
- 并发: 指在同一时刻只能有一条指令执行 , 但多个进程指令被快速的轮换执行 , 使得在宏观上具有多个进程同时执行的效果 , 但在微观上并不是同时执行的 , 只是把时间分成若干段 , 使多个进程快速交替的执行
- 并行: 指在同一时刻 , 有多条指令在多个处理器上同时执行 。 所以无论从微观还是从宏观来看 , 二者都是一起执行的
阻塞与非阻塞:(偏向于协程/异步的原理)
- 阻塞:阻塞状态指程序未得到所需计算资源时被挂起的状态 。 程序在等待某个操作完成期间 , 自身无法继续处理其他的事情 , 则称该程序在该操作上是阻塞的 。
- 非阻塞:程序在等待某操作过程中 , 自身不被阻塞 , 可以继续处理其他的事情 , 则称该程序在该操作上是非阻塞的
- 同步:不同程序单元为了完成某个任务 , 在执行过程中需靠某种通信方式以协调一致 , 我们称这些程序单元是同步执行的 。
- 异步:为完成某个任务 , 不同程序单元之间过程中无需通信协调 , 也能完成任务的方式 , 不相关的程序单元之间可以是异步的 。
- 多线程(英语:multithreading):指从软件或者硬件上实现多个线程并发执行的技术 。 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程 , 进而提升整体处理性能 。 具有这种能力的系统包括对称多处理机、多核心处理器以及芯片级多处理(Chip-level multithreading)或同时多线程(Simultaneous multithreading)处理器 。 在一个程序中 , 这些独立运行的程序片段叫作“线程”(Thread) , 利用它编程的概念就叫作“多线程处理(Multithreading)”
- 多进程(Multiprocessing):每个正在系统上运行的程序都是一个进程 。 每个进程包含一到多个线程 。 进程也可能是整个程序或者是部分程序的动态执行 。 线程是一组指令的集合 , 或者是程序的特殊段 , 它可以在程序里独立执行 。也可以把它理解为代码运行的上下文 。 所以线程基本上是轻量级的进程 , 它负责在单个程序里执行多任务 。 通常由操作系统负责多个线程的调度和执行 。 线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程.
- 二者的区别:线程和进程的区别在于,子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文.多线程主要是为了节约CPU时间,发挥利用,根据具体情况而定. 线程的运行中需要使用计算机的内存资源和CPU 。
根据以上可知 , URL:{cs}/buy/o{page}/#bread, 更具改变cs改变城市 , 一线城市为前拼音两个字母(例如:长沙/cs 、湘潭/xiangtan) , 第一页为o1,第二个为o2 。 以此类推
推荐阅读
- 沫言|摩托罗拉Moto G9 Plus即将上市 主要规格和价格揭秘
- 知足常乐|Java线程池原理,这一篇就够了
- 沫言|全体起立!卢本伟版的PanDownload复活了!60M/s
- 沫言|什么都是机器化,那生活还有什么意义?
- 沫言|解读数据库:深入分析MySQL中事务以及MVCC的实现原理
- 沫言|中国研发全球最大的类脑计算机!实现纯国产化:可像人脑一样思考
- 沫言|小米100wTypeC扩展坞来了,买苹果本都少不了转接口
- 沫言|买苹果本都少不了转接口,小米100wTypeC扩展坞来了
- 沫言|vivo电致变色让人不得不联想到了诺基亚5230!不可思议
- 沫言|谭松韵母亲被撞案正式开庭,嫌疑人摇头晃脑,毫无悔改太气人