摘要: 任务和线程的启动很容易。在大多数情况下我们都会让他们运行直到结束,或是让他们自行停止。但是,有时我们希望提前结束任务或是线程,可能是因为用户请求取消,或是线程在规定时间内没有结束,或是出现了一些问题迫使线程要提前结束。 强制一个线程或是服务立即停止,可能会造成共享数据状态不一致的问题,比如,两个线程 阅读全文
posted @ 2017-11-18 20:22 MoonGeek 阅读(2025) 评论(2) 推荐(0) 编辑
摘要: synchronized 是内置锁,而Lock 接口定义的是显示锁,Lock 提供了一种可重入的、可轮询的、定时的以及可中断的锁获取操作。 ReenTranLock实现了Lock接口,并提供了与synchronized 相同的互斥性和内存可见性。在获取ReentranLock时,有着与进入同步代码块 阅读全文
posted @ 2017-11-18 20:13 MoonGeek 阅读(3028) 评论(3) 推荐(1) 编辑