![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
文章平均质量分 76
荣兄2016
2018.6毕业,目前就职于杭州一家电商公司
展开
-
java多线程之锁
锁锁的分类偏向锁轻量级锁死锁场景 两个线程分别占有另一线程需要的资源,等待对方互相释放锁,或是某一线程释放是发生异常没释放掉,导致系统不可用的一个现象。分析 jps 查看java进程的pidjstack pid dump哪个线程出现了问题避免死锁的方法 避免一个线程同时获取多个锁避免一个线程在锁内同时占有多个资源,经理保证每个锁只使用一个资源尝试使用定时锁,如 l...原创 2018-08-15 22:09:22 · 129 阅读 · 0 评论 -
java多线程之原子类
当程序更新时,如果多个线程同时操作一个变量进行如i++的操作,会造成线程不安全的更新操作,通常采用synchronized来解决这个问题 juc这个包的出现提供了新的解决思路,提供的原子操作类 简单,高效,线程安全 基本类型 AtomicIntegerAtomicBooleanAtomicLong提供的用法都一致,以AtomicInteger为例 int addAndGet(int...原创 2018-08-18 15:42:25 · 491 阅读 · 0 评论 -
java内存模型
java内存模型1.java内存模型基础内存模型 JMM 线程之间通信方式主要有 共享内存 java 隐式进行 内存可见性问题消息传递线程之间的共享变量存储在主内存中,每个线程对应一个私有的本地变量为共享变量的副本 两个线程A B之间如果要通信那么需要以下几步 A线程改变本地共享变量副本更新到主内存B线程读取到主内存中A线程更新的变量 本地之前的变量失效必须通过主内存...原创 2018-08-26 15:12:27 · 103 阅读 · 0 评论 -
Java中的并发工具类
java并发工具类今天主要介绍四个java并发常见的工具类 CountDownLatchCyclicBarrierSemaphoreExchangerCountDownLatch用过Thread的join()都知道,join让“主线程”等待“子线程”结束之后才能继续运行。jdk1.5之后提供了CountDownLatch提供了比join更加丰富的功能,是一种共享锁常...原创 2018-08-21 20:48:34 · 2669 阅读 · 0 评论 -
Java等待通知机制
等待 - 通知机制线程首先获 取互斥锁,当线程要求的条件不满足时,释放互斥锁,进入等待状态;当要求的条件满足时,通知等待的线程,重新获取互斥锁实现synchronized调用wait() 线程被阻塞 等待。进入互斥锁的等待队列调用 notify()/notifyAll() 通知锁定的是this 即 this.wait()考虑因素互斥锁线程要求的条件何时等待何...原创 2019-08-11 15:21:36 · 196 阅读 · 0 评论