摘要: 1、cynchronized扩展:可重锁入ReentrantLock ReentrantLock是通过cas算法实现的 RenntrantLock lock=new ReentrantLock(); lock.lock();//如果资源被占用则会等待 //代码锁定区域 finally{ //必须手动 阅读全文
posted @ 2017-09-08 23:05 流氓剑客 阅读(705) 评论(0) 推荐(0) 编辑
摘要: ReentrentLock lock=new ReentrentLock(); lock.lock(); //锁的代码 finally{ lock.unlock(); } ReentrentLock 比synchronized具有更好的扩展性 ReentrentLock 可以通过lockInterr 阅读全文
posted @ 2017-09-08 15:45 流氓剑客 阅读(667) 评论(0) 推荐(0) 编辑
摘要: package com.ada.wuliu.shipper.front.service.thread; public class TestDeamon { public static class DeamonT extends Thread{ public void run(){ while(true){ System.out.println("... 阅读全文
posted @ 2017-09-08 11:27 流氓剑客 阅读(140) 评论(0) 推荐(0) 编辑
摘要: ReentrantLock 类实现了 Lock ,它拥有与 synchronized 相同的并发性和内存语义,但是添加了类似锁投票、定时锁等候和可中断锁等候的一些特性。此外,它还提供了在激烈争用情况下更佳的性能。 阅读全文
posted @ 2017-09-08 10:15 流氓剑客 阅读(121) 评论(0) 推荐(0) 编辑
摘要: wait和notify是针对sychronized锁定对象的 sychronized(object)object.wait();//释放object的锁sychronized(object)object.notify();//会随机唤起一个对object枷锁的等待线程,这个过程是随机唤醒的,不公平的 阅读全文
posted @ 2017-09-08 10:13 流氓剑客 阅读(108) 评论(0) 推荐(0) 编辑