子线程如何不阻塞主线程

 for t in thread_list:
            # t.setDaemon(True)
            t.start()
            t.join()

这样做很方便啊,想开多少个线程就开多少个线程
但是这种情况遇到子线程阻塞的话就会有问题,例如rabbitmq的消费者,启动之后,consumer是一直处于阻塞的状态的,创建多个consumer的话,上面的例子会发生子线程阻塞主线程的情况!
解决的办法是这样的:

 for t in thread_list:
            # t.setDaemon(True)
            t.start()
 for i in range(len(thread_list)):
     thread_list[i].join()

猜你喜欢

转载自blog.csdn.net/wu0che28/article/details/82530624
今日推荐