concurrent
新手路上的程序员
这个作者很懒,什么都没留下…
展开
-
concurrent 一
volatile 关键词 设置变量的可见性线程A:package demo; public class ThreadDemo implements Runnable { private boolean flag = false; public boolean isFlag() { return flag; } public void setF...原创 2018-05-11 16:25:51 · 271 阅读 · 0 评论 -
concurrent 二
闭锁:CountDownLatch 使用场景 闭锁 当条件满足时执行下一步操作/** * 需要等待多少个线程 设置为多少 */ private static CountDownLatch latch = new CountDownLatch(3);参考博客:写的挺好的栅栏:阻塞一组线程直到某个事件发生和闭锁的设置规则一样 需要等待多少线程就设置为多少CyclicBarrier cyclic...原创 2018-05-11 17:34:52 · 119 阅读 · 0 评论 -
concurrent 三
参考文章线程池 SingleThreadExecutor() :单例的线程池FixedThreadPool():定长的线程池CachedThreadPool():缓存线程池ScheduledThreadPool():支持定时及周期性任务执行。阿里开发规范手册中指出的问题:SingleThreadExecutor()和FixedThreadPool()SingleThreadExecutor()进入...原创 2018-05-14 17:22:31 · 111 阅读 · 0 评论 -
java高并发 笔记二
1. wait:线程进入等待状态 同时释放资源 sleep:线程进入休眠 不释放资源 notify:唤醒wait的线程 随机唤醒一个线程 notifyAll:唤醒wait的所有线程 2. suspend:线程挂起 不会释放任何资源 resume:继续执行 唤醒suspend线程 线程一suspend 线程二resume线程一 但是线程执行是随机的 先执行了线程二的re...原创 2019-03-20 10:53:35 · 124 阅读 · 0 评论 -
java高并发 笔记一
1. 并行:一个人同一时刻做N件事情 并发:一个人同一时刻只做一件事情 但是在一段时间内这个人做了N件事情 2. 临界区:临界区是公共资源,共享资源。每次只能有一个线程使用,多个线程需要排队使用。 3. 死锁:A拿着B需要的锁 B拿着A需要的锁 这样就死锁了 都无法往下走了 饥饿: 线程优先级高的抢占了线程优先级低的资源线程优先级低拿不到对应的资源只能等待, 活锁:线程...原创 2019-03-13 20:51:22 · 145 阅读 · 0 评论