我有一个非常复杂的系统(100+线程),需要发送电子邮件而不会阻塞。我的解决方法是实现一个名为
同时进行的是一个同步的静态方法
因此,请问是否有更有效的方法来完成这项任务?谢谢!
EmailQueueSender
的类,在执行开始时启动它,并拥有一个ScheduledExecutorService
,每500毫秒查看内部队列,如果size()> 0,则清空队列。同时进行的是一个同步的静态方法
addEmailToQueue(String[])
,它接受一个包含正文、主题等电子邮件内容的数组。系统可以正常工作,我的其他线程可以在将其电子邮件添加到队列后继续移动,而无需阻塞或甚至担心电子邮件是否成功发送...但它似乎有点凌乱...或者说是hackish...每个程序员都会有这种感觉,当他们知道自己在做错事情或者有更好的方法时。因此,请问是否有更有效的方法来完成这项任务?谢谢!