![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java高并发程序设计
tangyuan_sibal
每一份努力都值得期许
展开
-
java高并发程序设计1-线程停下来(stop,wait,suspend,await,interrupt,join,yield,sleep)的操作
写这一篇是因为这几个操作的使用和场景我也经常会记不住,所以写下这一篇文章来记录以后忘了可以翻一翻1、第一组:被抛弃的stop,suspendstop:如果你查看JDK中的Thread线程提供的stop()方法,可以发现已经被弃用了而官方文档对它的说明是:这个方法会立即终止正在运行的线程,不管它处于什么样的状态,这会引起安全的异常。比如这样一个场景,你在对一个数据库进行插入数据操作的时候,...原创 2019-03-21 15:35:17 · 978 阅读 · 0 评论 -
semaphore实现模拟数据库连接池
我们知道semaphore是一个共享型的同步机制,它的作用类似于一辆公交车有限定坐多少人,每次只有买票的人才能上车(acquire()获得许可),但是车的容量又是有限的,所以当达到一定容量的时候就后面的人就阻塞住上不来了,只能等车上有人下车(release()释放许可)。而这不正是数据库连接池的特性吗,像Druid,C3P0都是类似这样的机制。初始化固定的链接数量,当连接被消耗完毕时无法获取连接,...原创 2019-03-24 19:34:49 · 381 阅读 · 0 评论 -
java高并发程序设计2-JDK并发包
为什么要有JDK并发包呢?因为为了多线程安全。。。。下面主要从三个部分来了解JDK并发包(java.util.concurrent):多线程的团队协作(同步控制)、线程复用(线程池)、不要重复发明轮子(JDK的并发容器)一、同步控制:synchronized,ReentrantLock,Semaphore,ReadWriteLock,ThreadLocal1、sychronized :参考文...原创 2019-04-02 11:32:48 · 318 阅读 · 0 评论 -
java高并发程序设计2-Reentrantlock
原文链接:https://www.javazhiyin.com/22452.html(1)、ReentrantLock和Synchronized的比较synchronized关键字是Java提供的内置锁机制,其同步操作由底层JVM实现,而ReentrantLock是java.util.concurrent包提供的显式锁,其同步操作由AQS同步器提供支持。ReentrantLock在加锁和内存...转载 2019-03-22 15:49:32 · 175 阅读 · 0 评论