您的位置:首页 > 编程语言 > Java开发

基于JavaMail的邮件客户端--JustLook(六、多线程)

2009-09-15 13:44 459 查看
新邮件提示功能中的手机短信提示,用到Fetion.jar,发送短信所需时间过长,影响到软件的运行效率,因此将它作为一个线程,在后台运行,这样就不会影响到软件的其他工作。

软件提供定时接收邮件的功能,用户可以设置间隔时间,并且可以自动发送新邮件的简单信息之用户手机,提供这样的功能有两个问题需要解决。第一,如果软件正在按照用户的设置,自动接收邮件,此时,若用户手动进行收取邮件,必将存在问题。第二,因为每次发送短信都会进行飞信的登录登出操作,若此时正在发送短信至手机,而自动接收邮件后发现有新邮件则会自动发送短信,这样的情况必然会引起某条信息发送失败或者其他更为严重的问题的出现。

对于第一种情况,给接收短信的方法添加synchronized关键字,保证同一时间该方法只被一个线程调用。

而对于第二种情况,因为发送短信整个过程需要的时间绝对不会超过两分钟,如果我们将时间间隔设置的最小值设为大于两分钟,当然可以避免这样问题的出现,为了测试方便,我将间隔时间缩小10倍,当然是能检测到这样问题的出现。不过这样的方法比较投机,只要利用多线程的知识,让定时接收功能线程,等待发送短信线程完成后,再进行就可以了。

至此,我的这个邮件客户端大概情况就是这样了,八月份的时候比较清闲,将它做了简单的总结与介绍,最后这一点拖到了九月份。该出去找工作了,希望甲流不会对找工作带来太大的影响。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: