多线程和多进程总结

进程:

        一个程序需要运行所需的资源的集合

        每个进程的数据是独立

        每个进程最少有一个线程

        进程可以拥有多个线程

        进程中的线程间共享

        一个进程的多个线程可以充分利用多核CPU(除python语言之外)

multiprocessing

        pipe        

        queue    

                实现进程间的数据传递、通信

        manager        实现多进程间的数据共享

        进程间共享数据的代价是高昂的,所以要尽量避免进程间的数据共享

        线程间的数据本来就是共享的,要修改同一份数据,必须加锁,互斥锁mutex

        event    线程间交互


生产者消费者模型

        解耦        意思:将程序不同功能之间的依赖降到最低

                       提高程序运行效率

        queue

                        FIFO(先进先出)    排队

                        LIFO(后进先出)    卖水果

                        优先级queue            VIP服务

线程    IO密集型, socket 爬虫, web

进程    CPU运行密集型,金融分析

进程和线程,那个启动速度快?

        启动一个线程快,因为在线程可以共享进程所有资源,不需要像进程向系统申请各种资源。


相关文章

使用OpenCV实现视频去抖 整体步骤: 设置输入输出视频 寻找帧...
前言 对中文标题使用余弦相似度算法和编辑距离相似度分析进行...
前言 之前尝试写过一个爬虫,那时对网页请求还不够熟练,用的...
前言 本文使用Python实现了PCA算法,并使用ORL人脸数据集进行...
前言 使用opencv对图像进行操作,要求:(1)定位银行票据的...
天气预报API 功能 从中国天气网抓取数据返回1-7天的天气数据...