摘要: 锁(Lock/synchronized)只能实现互斥不能实现通信,Condition的功能类似于在传统的线程技术中的,Object.wait()和Object.notify()的功能,在等待Condition时,允许发生"虚假唤醒",这通常作为对基础平台语义的让步,对... 阅读全文
posted @ 2016-11-19 21:58 john8169 阅读(191) 评论(0) 推荐(0)
摘要: 读写锁,分为读锁和写锁,多个读锁不互斥,读锁和写锁互斥,写锁与写锁互斥,这是JVM自己控制的,你只要上好相应的锁即可,如果你的代码只读数据,可以很多人同时读,但不能同时写,那就上读锁;如果你的代码修改数据,只能有一个人在写,且不能同时读取,那就上写锁.总之,读的时候上... 阅读全文
posted @ 2016-11-19 10:51 john8169 阅读(158) 评论(0) 推荐(0)
摘要: Lock比传统线程模型中的Synchronied方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象.两个线程执行的代码段要实现同步互斥的效果,它们必须用同一个Lock对象,锁是在代表要操作的资源的类的内部方法中,而不是线程代码中.Lock就用来替代synchr... 阅读全文
posted @ 2016-11-19 10:03 john8169 阅读(114) 评论(0) 推荐(0)
摘要: 示例: package javaplay.thread.test;import java.util.Random;import java.util.concurrent.Callable;import java.util.concurrent.CompletionSe... 阅读全文
posted @ 2016-11-19 09:28 john8169 阅读(124) 评论(0) 推荐(0)
摘要: 应用示例如下: package javaplay.thread.test;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.uti... 阅读全文
posted @ 2016-11-19 08:42 john8169 阅读(124) 评论(0) 推荐(0)