随笔分类 -  java线程

摘要:1. 最简单通过主动的内部函数的方法捕获 2. 通过设置一个默认的UncaughtExceptionHandler来处理所有的异常 3. 阅读全文
posted @ 2018-12-03 10:17 式微胡不归 阅读(236) 评论(0) 推荐(0)
摘要:结果: 阅读全文
posted @ 2018-12-02 11:13 式微胡不归 阅读(344) 评论(0) 推荐(0)
摘要:/** * Executes the given task sometime in the future. The task * may execute in a new thread or in an existing pooled thread. * * If the task cannot be submitted for executio... 阅读全文
posted @ 2018-11-28 15:33 式微胡不归 阅读(297) 评论(0) 推荐(0)
摘要:死锁 1.通过锁的顺序来避免死锁的发生,比如使用System.identityHashCode()排序,或者源数据中就有可比较的键值,比如账户 阅读全文
posted @ 2018-11-27 21:18 式微胡不归 阅读(135) 评论(0) 推荐(0)
摘要:demo1: 结果: 修改代码: 在到达栅栏之后,栅栏随机选取一个线程,进行一个操作。 结果: 从结果可以看出,在到达栅栏之后,首先执行Runnable中的函数,然后再执行线程中的剩余的操作。 阅读全文
posted @ 2018-11-27 20:06 式微胡不归 阅读(195) 评论(0) 推荐(0)
摘要:一个有界的容器: 阅读全文
posted @ 2018-11-27 19:05 式微胡不归 阅读(112) 评论(0) 推荐(0)
摘要:结果显示; 闭锁只能用一次 阅读全文
posted @ 2018-11-26 21:20 式微胡不归 阅读(147) 评论(0) 推荐(0)
摘要:是一个很简单的类: 底层通过CAS操作实现 结果: 阅读全文
posted @ 2018-11-26 18:32 式微胡不归 阅读(124) 评论(0) 推荐(0)
摘要:线程的礼让: 当轮到一个线程执行任务,但是这个线程处理一个不是很重要的事情的时候,可以让大家来一次抢占的机会 程序: 结果: 阅读全文
posted @ 2018-11-26 11:35 式微胡不归 阅读(168) 评论(0) 推荐(0)
摘要:condition.await() condition.signalAll() 结果显示: 将ThreadB中改为唤起一个已经挂起的进程 将ThradA中改为每次释放锁之前唤起一个已经挂起线程 ThreadA ThreadB 结果: 阅读全文
posted @ 2018-11-26 10:49 式微胡不归 阅读(660) 评论(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 式微胡不归 阅读(464) 评论(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 式微胡不归 阅读(217) 评论(0) 推荐(0)
摘要:结果: trylock() 结果: 修改代码,使用tryLock(time,TimeUnit) 结果显示:线程A获得锁,线程B和C等待锁的释放4秒钟,但是一秒钟后b被主线程中断,C在四秒钟后放弃了对锁的获取。 阅读全文
posted @ 2018-11-23 11:03 式微胡不归 阅读(206) 评论(0) 推荐(0)
摘要:结果: 中断take()方法 结果: 再次修改中断方法: 将get空转,等待标志位的改变 结果显示: customer的run方法结束 再次修改代码: 结果: 前三秒:显示true 完了主函数请求中断消费者,消费者在死循环里面检测到中断的请求之后,将请求通过interrupted()函数,重置一下。 阅读全文
posted @ 2018-11-22 11:06 式微胡不归 阅读(485) 评论(0) 推荐(0)
摘要:一个检查isinterrupted的程序 结果: 阅读全文
posted @ 2018-11-22 10:07 式微胡不归 阅读(577) 评论(0) 推荐(0)
摘要:add操作 以下是 阅读全文
posted @ 2018-11-20 20:52 式微胡不归 阅读(1241) 评论(1) 推荐(1)
摘要:putval源码 inittable() helpTransfer() helpTransfer() 阅读全文
posted @ 2018-11-17 18:50 式微胡不归 阅读(197) 评论(0) 推荐(0)
摘要:重要的参考博客: https://blog.csdn.net/zhaozhirongfree1111/article/details/72781758 阅读全文
posted @ 2018-11-07 08:50 式微胡不归 阅读(867) 评论(0) 推荐(0)
摘要:将函数,变为,参数传入 1. 是一个接口,就是将一个对int类型的操作当一个参数传入进来。 关键函数:applyAsInt(int operand) 对一个参数operand进行一些操作,最后返回个int类型。 2. 在AtomicInteger中的应用 首先获取到原来的值,然后,进行一些操作,最后 阅读全文
posted @ 2018-11-03 09:15 式微胡不归 阅读(2572) 评论(2) 推荐(0)
摘要:public class PC { public static void main(String[] args) { BlockingQueue bq = new ArrayBlockingQueue(5); for(int i = 0 ;i bq; public Productor(BlockingQueue bq){ ... 阅读全文
posted @ 2018-10-22 16:20 式微胡不归 阅读(230) 评论(0) 推荐(0)