java - 当项目添加到java中的列表对象时自动运行线程

标签 java multithreading linked-list

我正在实现一个任务,其中有一个名为 Email 的类,其中包含一个 LinkedList,其中包含要发送的所有电子邮件。我有几个类将电子邮件添加到此队列。

现在,我想要的是,只要在 LinkedList 对象中添加元素,Email 类就会自动启动一个线程,直到所有电子邮件均已发送。我可以对此实现提供一些指导吗?

最佳答案

替换LinkedList<Email> LinkedBlockingDequeue<Email> ,立即启动线程,并将其传递到队列中。该线程应该调用queue.take() ,这将被阻止,直到电子邮件可用为止。本质上,您将获得一个 hibernate 线程在队列的接收端等待,从而产生您想要的效果:每当将电子邮件插入队列时,读取线程就会醒来,抓取新电子邮件,处理它,然后回去 sleep 。

关于java - 当项目添加到java中的列表对象时自动运行线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16506284/

相关文章:

java - 请参阅有关调用方法的 java 注释

java - 为什么在获取对象锁时会调用非同步方法?

kotlin - 如何在 Kotlin 链表中仅打印整数

c - 纯 C 中的“多用途”链表实现

.net - 多生产者多消费者无锁(甚至无需等待)队列

C++ - 链表堆栈运算符重载函数

java - 我们如何使用 Java 接口(interface)强制执行双向接口(interface)?

java - JDK更新时哪些文件被替换了?

java - Android下载-使用输出流方式

c# - 在 LINQ 查询期间提供用户反馈