我正在实现一个任务,其中有一个名为 Email
的类,其中包含一个 LinkedList,其中包含要发送的所有电子邮件。我有几个类将电子邮件添加到此队列。
现在,我想要的是,只要在 LinkedList 对象中添加元素,Email
类就会自动启动一个线程,直到所有电子邮件均已发送。我可以对此实现提供一些指导吗?
最佳答案
替换LinkedList<Email>
与 LinkedBlockingDequeue<Email>
,立即启动线程,并将其传递到队列中。该线程应该调用queue.take()
,这将被阻止,直到电子邮件可用为止。本质上,您将获得一个 hibernate 线程在队列的接收端等待,从而产生您想要的效果:每当将电子邮件插入队列时,读取线程就会醒来,抓取新电子邮件,处理它,然后回去 sleep 。
关于java - 当项目添加到java中的列表对象时自动运行线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16506284/