我正在执行一个任务,其中有一个类Email
,其中包含一个LinkedList,该列表包含要发送的所有电子邮件。我有几个类可以向该队列添加电子邮件。
现在,我想要的是,只要在LinkedList对象中添加元素,直到所有电子邮件发送完毕,类Email
就会自动启动线程。我可以对此实施提供一些指导吗?
最佳答案
建议您编写一个使用ExecutorService而不是队列的EmailSender类,以提交发送电子邮件的任务。
传递具有副作用的集合是一个坏主意。例如来电者会发生什么
addAll()-添加多封电子邮件?
remove()-取消已添加队列的电子邮件?
keepAll()-取消列出的所有电子邮件?
clear()-取消所有电子邮件?
您将暴露可能无法实现或有意义的各种功能。