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