rabbitmq使用与pika的线程

时间:2016-03-13 22:13:55

标签: python multithreading rabbitmq pika

我正在尝试使用rabbitmq获得一个基本的队列系统,但是当我尝试使用线程时,它似乎只运行1个线程。

我的代码:

ArrayList<City> cities = new ArrayList<City>();
cities.add(new City(splitted[0],connections));

2 个答案:

答案 0 :(得分:2)

t.join()等待线程完成。在start()循环的第一次迭代中,你启动第一个线程,然后等待它完成,但它永远不会,因为channel.start_consuming()是一个等待传入消息的无限循环。

答案 1 :(得分:1)

Pika不是线程安全的。来自Pika FAQ

  

Pika线程安全吗?

     

Pika在代码中没有任何线程概念。如果要将Pika与线程一起使用,请确保在该线程中创建每个线程的Pika连接。跨线程共享一个Pika连接是不安全的。