上一页 1 2 3 4 5 6 7 8 ··· 22 下一页
摘要: 结果显示; 闭锁只能用一次 阅读全文
posted @ 2018-11-26 21:20 式微胡不归 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 是一个很简单的类: 底层通过CAS操作实现 结果: 阅读全文
posted @ 2018-11-26 18:32 式微胡不归 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 线程的礼让: 当轮到一个线程执行任务,但是这个线程处理一个不是很重要的事情的时候,可以让大家来一次抢占的机会 程序: 结果: 阅读全文
posted @ 2018-11-26 11:35 式微胡不归 阅读(161) 评论(0) 推荐(0) 编辑
摘要: condition.await() condition.signalAll() 结果显示: 将ThreadB中改为唤起一个已经挂起的进程 将ThradA中改为每次释放锁之前唤起一个已经挂起线程 ThreadA ThreadB 结果: 阅读全文
posted @ 2018-11-26 10:49 式微胡不归 阅读(655) 评论(0) 推荐(0) 编辑
摘要: 同步器节点的waitStatus解释 CANCELLED 取消状态 SIGNAL -1 等待触发状态,前节点可能是head或者前节点为取消状态CANCELLED CONDITION -2 等待条件状态,在等待队列中 PROPAGATE -3 状态需要向后传播 //不公平锁的lock函数 static final class NonfairSync extends Sync { ... 阅读全文
posted @ 2018-11-23 21:23 式微胡不归 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 结果: 修改代码: 结果: 再次修改代码将Thread.sleep(1000)注释掉 结果显示: b1尝试获得obj锁b1获得了obj锁,进入waitb2尝试获得obj锁b3尝试获得obj锁Main函数获得了锁,进行notifyAll操作b1从wait出来了b3获得了obj锁,进入waitb2获得了 阅读全文
posted @ 2018-11-23 14:30 式微胡不归 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 结果: trylock() 结果: 修改代码,使用tryLock(time,TimeUnit) 结果显示:线程A获得锁,线程B和C等待锁的释放4秒钟,但是一秒钟后b被主线程中断,C在四秒钟后放弃了对锁的获取。 阅读全文
posted @ 2018-11-23 11:03 式微胡不归 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 结果: 中断take()方法 结果: 再次修改中断方法: 将get空转,等待标志位的改变 结果显示: customer的run方法结束 再次修改代码: 结果: 前三秒:显示true 完了主函数请求中断消费者,消费者在死循环里面检测到中断的请求之后,将请求通过interrupted()函数,重置一下。 阅读全文
posted @ 2018-11-22 11:06 式微胡不归 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 一个检查isinterrupted的程序 结果: 阅读全文
posted @ 2018-11-22 10:07 式微胡不归 阅读(574) 评论(0) 推荐(0) 编辑
摘要: 代码: 结果: 修改代码: 结果: 阅读全文
posted @ 2018-11-22 09:13 式微胡不归 阅读(164) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 22 下一页