javamail 多线程发送邮件发生错发邮件的问题
发布网友
发布时间:2022-04-29 00:39
我来回答
共1个回答
热心网友
时间:2022-06-26 15:04
你能确定这个 MailSend mailSend 参数在多个线程中肯定不会共用?
多线程中数据错乱肯定都是多个线程在使用同一个东西,当我们当参数传递时要避免这个参数在多个地方使用,而当我们的代码自己去取参数而这个参数可能其它人修改它时要有办法处理线程同步的问题,对于某个只在一个线程内使用却有一种类似静态调用的方式“自己去拿而不是别人传参数”的时候我们或许可以考虑成 ThreadLocal 型的变量。
.saveChanges(); 时会开始从 handler 中读取附件的内容,这个时候 handler 对应的 data source 应该不会被多个线程同时访问才好,当我们没有明确地调用它时在 send 的时候也会自动调用的。