2019年6月12日
摘要: 1.Condition实现等待和唤醒线程 java.util.locks.ReentrantLock用于替代synchronized加锁 但是synchronized可以使用wait和notify实现线程在条件不满足时的等待,条件满足时的唤醒。 如何使用ReentrantLock实现wait/not 阅读全文
posted @ 2019-06-12 22:21 singleSpace 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 1.ReentrantLock的限制 ReentrantLock保证了只有一个线程可以执行临界区代码。 临界区代码:任何时候只有1个线程可以执行的代码块。 临界区指的是一个访问共用资源(例如:共用设备或是共用存储器)的程序片段,而这些共用资源又无法同时被多个线程访问的特性。当有线程进入临界区段时,其 阅读全文
posted @ 2019-06-12 20:32 singleSpace 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 1.java.util.concurrent 线程同步: 是因为多线程读写竞争资源需要同步 Java语言提供了synchronized/wait/notify来实现同步 编写多线程同步很困难 所以Java提供了更高级的java.util.concurrent包: 更高级的同步功能 简化多线程程序的编 阅读全文
posted @ 2019-06-12 00:06 singleSpace 阅读(201) 评论(0) 推荐(0) 编辑