当线程占用队列时,进程是否可以更新共享队列?

时间:2016-09-12 03:24:59

标签: python multithreading concurrency multiprocessing

我试图在Python中创建一个多线程哈希破解程序/ bruteforcer,当我让一个线程产生所有可能的单词组合并将它们放在一个队列中时,我遇到了一个问题,同时有10个其他线程哈希队列。问题是10个哈希线程占用了1个线程生成器的执行时间,从而导致了它的瓶颈。所以我的问题是:是否有可能让一个进程更新一个队列,可以在Python中同时被其他线程使用?

1 个答案:

答案 0 :(得分:1)

multiprocessing.Queue对象是进程和线程安全的。

我让解决方案的主循环填充队列,同时多个进程对其内容进行哈希处理。

当你的工作似乎受CPU限制时,我会避免使用线程。