摘要: 熟悉python的都知道,在C语言写的python解释器中存在全局解释器锁,由于全局解释器锁的存在,在同一时间内,python解释器只能运行一个线程的代码,这大大影响了python多线程的性能。而这个解释器锁由于历史原因,现在几乎无法消除。 python GIL 之所以会影响多线程等性能,是因为在多 阅读全文
posted @ 2019-06-05 21:22 Huanghongzheng 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 在 Cpython中,这个全局解释器锁 或者 称为GIL,是一个互斥锁. 是为了防止多个本地线程同一时间执行python字节码, 这个锁是非常重要的因为Cpython的内存管理是非线程安全的, ,然而这个GIL有存在的必要性, 因为有很多已经存在的代码,需要依赖这个锁 非线程安全 即 多个线程访问同 阅读全文
posted @ 2019-06-05 20:20 Huanghongzheng 阅读(110) 评论(0) 推荐(0) 编辑
摘要: JoinableQueue 可以被join的队列 join是等待任务结束 队列怎么叫结束? ​ 调用task_done一次则表示有一个数据被处理完成了 当task_done次数等于put的次数就意味着任务处理完成了 ​ 这也是join的执行时机 该队列可以明确告知数据的使用方,所有数据都已经处理完成 阅读全文
posted @ 2019-06-05 14:50 Huanghongzheng 阅读(160) 评论(0) 推荐(0) 编辑