Java 我是否可以在多线程应用程序中向队列中添加对象以防止其中断?

Java 我是否可以在多线程应用程序中向队列中添加对象以防止其中断?,java,multithreading,queue,Java,Multithreading,Queue,我有一个制作人和多个接收器。所有产品都添加到队列中,以后可以从队列中取出。问题是,假设我使用信号量阻止任何接收者在对象为空时访问它,那么每次我想将对象添加到队列中时是否都需要检查该对象是否尚未使用?如果有多个线程可能同时使用同一对象,是的,您需要使用锁或信号量来确保一次只有一个线程作用于对象 根据您使用的语言,我相信有些人已经为您实现了这一功能。您可以创建线程安全的数据结构对象,并且已经为您处理了锁定语义 使用ConcurrentLinkedQueue,在这种情况下使用是安全的。

我有一个制作人和多个接收器。所有产品都添加到队列中,以后可以从队列中取出。问题是,假设我使用信号量阻止任何接收者在对象为空时访问它,那么每次我想将对象添加到队列中时是否都需要检查该对象是否尚未使用?

如果有多个线程可能同时使用同一对象,是的,您需要使用锁或信号量来确保一次只有一个线程作用于对象


根据您使用的语言,我相信有些人已经为您实现了这一功能。您可以创建线程安全的数据结构对象,并且已经为您处理了锁定语义

使用
ConcurrentLinkedQueue
,在这种情况下使用是安全的。