我正在尝试使用rabbitmq获得一个基本的队列系统,但是当我尝试使用线程时,它似乎只运行1个线程。
我的代码:
ArrayList<City> cities = new ArrayList<City>();
cities.add(new City(splitted[0],connections));
答案 0 :(得分:2)
t.join()
等待线程完成。在start()
循环的第一次迭代中,你启动第一个线程,然后等待它完成,但它永远不会,因为channel.start_consuming()
是一个等待传入消息的无限循环。
答案 1 :(得分:1)
Pika不是线程安全的。来自Pika FAQ:
Pika线程安全吗?
Pika在代码中没有任何线程概念。如果要将Pika与线程一起使用,请确保在该线程中创建每个线程的Pika连接。跨线程共享一个Pika连接是不安全的。