在我的程序中,我有一个“发送者”和“接收者”线程,它们都作用于一个队列。
我在课堂上将我的队列定义为:
static Queue<my_class> queue = new LinkedList<my_class>();
但是,我认为我遇到了问题,因为我Queues
没有同步。在我的“接收者”线程中,有时我必须从队列中删除项目,这将影响“发送者”线程的运行方式。
我正在阅读BlockingQueues
并想知道这是否是我需要在我的情况下使用的?如果是这样,我该如何更改我的声明?我是否还需要BlockingQueue
在“发送者”和“接收者”线程中声明?
会BlockingQueue
确保在任何给定时间只有一个线程访问队列吗?
对不起,我对同步的概念很陌生,我觉得它很混乱..
谢谢您的帮助。