2018年8月11日

Java并发编程原理与实战二十四:简易数据库连接池

摘要: 参考资料: 《java并发编程实战》龙果学院 阅读全文

posted @ 2018-08-11 20:49 pony1223 阅读(259) 评论(0) 推荐(0) 编辑

Java并发编程原理与实战二十三:Condition原理分析

摘要: 先来回顾一下java中的等待/通知机制 我们有时会遇到这样的场景:线程A执行到某个点的时候,因为某个条件condition不满足,需要线程A暂停;等到线程B修改了条件condition,使condition满足了线程A的要求时,A再继续执行。 自旋实现的等待通知 最简单的实现方法就是将conditi 阅读全文

posted @ 2018-08-11 20:47 pony1223 阅读(2307) 评论(0) 推荐(0) 编辑

Java并发编程原理与实战二十二:Condition的使用

摘要: Condition的使用 Condition用于实现条件锁,可以唤醒指定的阻塞线程。下面来实现一个多线程顺序打印a,b,c的例子。 先来看用wait和notify的实现: public class Demo { private volatile int singal; public synchron 阅读全文

posted @ 2018-08-11 20:41 pony1223 阅读(361) 评论(0) 推荐(0) 编辑

Java并发编程原理与实战二十一:线程通信wait&notify&join

摘要: wait和notify wait和notify可以实现线程之间的通信,当一个线程执行不满足条件时可以调用wait方法将线程置为等待状态,当另一个线程执行到等待线程可以执行的条件时,调用notify可以唤醒等待的线程。需要强调的是,在调用wait和notify时需要先获取锁,否则会抛出IllegalM 阅读全文

posted @ 2018-08-11 20:38 pony1223 阅读(294) 评论(0) 推荐(0) 编辑

Java并发编程原理与实战二十:线程安全性问题简单总结

摘要: 一、出现线程安全性问题的条件 •在多线程的环境下 •必须有共享资源 •对共享资源进行非原子性操作 二、解决线程安全性问题的途径 •synchronized (偏向锁,轻量级锁,重量级锁) •volatile •JDK提供的原子类 •使用Lock(共享锁,排它锁) 三、认识的“*锁” •偏向锁 Jav 阅读全文

posted @ 2018-08-11 20:34 pony1223 阅读(319) 评论(0) 推荐(0) 编辑

Java并发编程原理与实战十九:AQS 剖析

摘要: 一、引言在JDK1.5之前,一般是靠synchronized关键字来实现线程对共享变量的互斥访问。synchronized是在字节码上加指令,依赖于底层操作系统的Mutex Lock实现。而从JDK1.5以后java界的一位大神—— Doug Lea 开发了AbstractQueuedSynchro 阅读全文

posted @ 2018-08-11 20:21 pony1223 阅读(843) 评论(0) 推荐(2) 编辑

导航