【发布时间】:2017-10-04 11:37:02
【问题描述】:
我有 2 个队列 A 和 B。主线程负责填充队列。有一个由 3 个线程组成的线程池负责从队列中读取。两个队列都是 ArrayBlockingQueue。 假设主线程以这种方式填充队列(A1,B1),(A2,B2),(A3,B3),(A4,B4)等等。 A1 和 B1 共同构成一个完整的数据。 任何线程是否有可能在任何时候读取(A3,B4)之类的数据。如果是,那么我该如何避免它。我希望每个线程都能完全读取数据。 例如 thread1 应该同时读取 (A1,B1) 和 thread2 (A2,B2) 等等。
【问题讨论】:
-
为什么不把数据放到另一个对象里,只有一个队列呢?
标签: java multithreading synchronization