进程:
一个程序需要运行所需的资源的集合
每个进程的数据是独立
每个进程最少有一个线程
进程可以拥有多个线程
进程中的线程间共享
一个进程的多个线程可以充分利用多核CPU(除python语言之外)
multiprocessing
pipe
queue
实现进程间的数据传递、通信
manager 实现多进程间的数据共享
进程间共享数据的代价是高昂的,所以要尽量避免进程间的数据共享
线程间的数据本来就是共享的,要修改同一份数据,必须加锁,互斥锁mutex
event 线程间交互
生产者消费者模型
解耦 意思:将程序不同功能之间的依赖降到最低
提高程序运行效率
queue
FIFO(先进先出) 排队
LIFO(后进先出) 卖水果
优先级queue VIP服务
线程 IO密集型, socket 爬虫, web
进程 CPU运行密集型,金融分析
进程和线程,那个启动速度快?
启动一个线程快,因为在线程可以共享进程所有资源,不需要像进程向系统申请各种资源。