摘要: 为什么要使用SwingWorker 在swing开发中,如果一个应用程序,执行一些任务,需要大量的时间来完成,比如下载一个大文件或执行一个复杂的数据库查询。 我们假设这些任务是由用户使用一个按钮触发的。在单线程应用程序,用户单击按钮,进入计算的过程,然后等待任务完成之前,所有的事件都在主线程EDT线 阅读全文
posted @ 2015-11-16 14:43 昕友软件开发 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 一种习以为常的缓存写法: 看上去逻辑无比正确,但实际上会造成2种问题: 1、这种方法是不线程安全的。 2、产生数值写入重复,造成错误的数据。 如下图,在线程1执行计算数值的过程中,线程2也进入数据检查,将多次写入数据,程序非常危险。 演示错误代码: 1、传统的解决办法,使用重入锁 (getNumbe 阅读全文
posted @ 2015-11-16 10:27 昕友软件开发 阅读(2182) 评论(0) 推荐(0) 编辑
欢迎访问我的开源项目:xyIM企业即时通讯