摘要: 有时候我们需要有这样的需求: 对于同一个文件进行读和写操作,普通的锁是互斥的,这样读的时候会加锁,只能单线程的读,我们希望多线程的进行读操作,并且读的时候不能进行写操作,写的时候不能进行读操作,也就是:“读读不互斥”,“读写互斥”,“写写互斥”这个时候就需要用的jdk听的“读写锁了。Reentran 阅读全文
posted @ 2019-05-19 17:27 brucegan 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 建立三个线程,线程名字分别为:A、B、C,要求三个线程分别打印自己的线程名字,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印。打印10轮,打印完毕控制台输出字符串:"打印完毕" 方法之一:使用Condition等待唤醒机制,代码如下: 阅读全文
posted @ 2019-05-19 16:42 brucegan 阅读(8040) 评论(0) 推荐(0) 编辑
摘要: 创建线程的两种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。这两种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。而自从Java 1.5开始,就提供了Callable和 阅读全文
posted @ 2019-05-19 10:09 brucegan 阅读(178) 评论(0) 推荐(0) 编辑