Python3 threading.Thread 如何线程间通信 queque-新乡seo|网站优化,网站建设_微信公众号:zeropython—昊天博客

由于GIL的存在,多线程进行cpu密集型操作并不能提高执行效率(针对 python2),我们修改

程序构架

1 使用多个DownloadThread线程进行下载(I/O操作)

2 使用一个ConvertThread线程进行转换(CPU操作)

3 下载线程把下载数据 安全地传递给转换线程

解决方案:

使用标准库中的Queue.Queue,它是一个线程安全的队列

Download线程把下载数据放入队列 ,Convert线程从队列里提取数据