2小时后使用java触发电子邮件

时间:2017-03-13 04:44:54

标签: java multithreading email

如果用户更新了基本信息,我想在两小时后触发该电子邮件中包含用户详细信息的电子邮件。我在java中使用了TimerTask类,它工作正常。但计划使用ScheduledThreadPoolExecutor.java。 我的问题是,

  1. 由于使用多线程,我必须避免竞争条件(因为我正在使用ScheduledThreadPoolExecutor.java或TimerTask.java)。

  2. 用户可以在两小时内更新他/她的基本详细信息N次。所以,两小时后我必须发送更新详情的邮件。如何跟踪时间?

  3. 有没有更好的方法呢?

  4. 由于使用多线程,我必须涵盖哪些场景?

  5. 提前致谢,

1 个答案:

答案 0 :(得分:1)

快速方法是,每次执行此类更新电子邮件时,都会捕获任务中的所有必要数据(即复制它),以便完全避免锁定问题。鉴于您的申请,我认为这是明智和充分的。

对于2)取决于你是否希望进行混淆(即只保留队列中的最新任务),或者你希望让我成为。