无解问题python为何多线程无法切换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无解问题python为何多线程无法切换相关的知识,希望对你有一定的参考价值。

写了一个kafka传输消息,celery发布任务的脚本。

有四个线程,分别读取不同的kafka队列信息

问题是,只有第一个线程会启动,剩下的三个线程连start都运行不了。

 

而且这个问题不是一开始就发生的,最开始跑代码的时候很正常。连续运行了半个月都没问题。就是后来重启后就有问题了。

后来发现,在每个线程里面加sleep后,线程会切换了。但切换极慢,无法忍受。而且正常的threading根本不需要sleep就可以切换线程的。

 

这期间的变化只有升级了celery相关的rabbitmq服务,但这个应该跟python多线程没什么关系吧。

 

啊啊啊啊啊啊啊啊啊,要疯

以上是关于无解问题python为何多线程无法切换的主要内容,如果未能解决你的问题,请参考以下文章

python线程及多线程实例讲解

面试官:Redis 单线程已经很快,为何 6.0要引入多线程?有啥优势?

多线程

python 多线程锁机制

Python多线程-2

协程(Coroutine)与多线程,多进程