【发布时间】:2011-02-11 07:58:00
【问题描述】:
我在两个不同的线程之间使用LinkedBlockingQueue。一个线程通过add添加数据,而另一个线程通过take接收数据。
我的问题是,我是否需要同步访问add 和take。 LinkedBlockingQueue 的插入和删除方法线程安全吗?
【问题讨论】:
-
如果它们不是线程安全的,那么您需要同步它。然后 take() 很可能会抓取一个空队列的互斥体,阻止任何其他线程添加到它。你好死锁!
标签: java multithreading concurrency synchronization