![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
Kevin-Zeng
这个作者很懒,什么都没留下…
展开
-
Java AtomicInteger的用法
文章目录1、原子类2、AtomicInteger的基本方法getAndAdd()方法与AddAndGet方法getAndDecrement()和DecrementAndGet()方法3、使用AtomicInteger4、使用普通Integer5、如果在inc方法前面加个synchronized也能是线程安全的;synchronized的使用说明:6、从上面的例子中我们可以看出java的关键域有3个...原创 2019-11-26 18:01:11 · 425 阅读 · 0 评论 -
深入分析synchronized的实现原理
记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道synchronized是一个重量级锁,相对于Lock,它会显得那么笨重,以至于我们认为它不是那么的高效而慢慢摒弃它。 诚然,随着Javs SE...原创 2019-11-15 16:47:32 · 146 阅读 · 0 评论 -
ThreadPoolExecutor 参数详解
一、 ThreadPoolExecutor 数据成员 private final AtomicInteger ctl = new AtomicInteger(ctlOf(RUNNING, 0)); ctl 主要用于存储线程池的工作状态以及池中正在运行的线程数。显然要在一个整型变量存储两个数据,只能将其一分为二。其中高3bit用于存储线程池的状态,低位的29bit用于存储正在运行的线程数。 1...原创 2019-11-13 19:14:22 · 849 阅读 · 0 评论