摘要: 注意点:FutureTask是Runnable的实现类,它的构造器可以传Callable接口的实现类。 例子如下: class MyThread implements Callable<Integer> { @Override public Integer call() throws Excepti 阅读全文
posted @ 2020-01-07 22:09 从精通到陌生 阅读(1026) 评论(0) 推荐(0)
摘要: class MyResource { private volatile boolean FLAG = true; //默认开启,进行生产+消费 private AtomicInteger atomicInteger = new AtomicInteger(); BlockingQueue<Strin 阅读全文
posted @ 2020-01-05 23:18 从精通到陌生 阅读(212) 评论(0) 推荐(0)
摘要: 多线程之间按顺序调用,实现A →B→C三个线程启动,要求如下: AA 打印2次,BB 打印3次,CC打印4次,按顺序连续打印2轮。 class ShareResource { private int number = 1; private Lock lock = new ReentrantLock( 阅读全文
posted @ 2020-01-05 21:55 从精通到陌生 阅读(388) 评论(0) 推荐(0)
摘要: 1.原始构成 synchronized是关键字属于jvm层面,monitorenter(底层是通过monitor对象来完成,其实wait/notify等方法也依赖于monitor对象,只有在同步块或者方法中才能调wait/notify等方法) monitorexit lock是具体类(java.ut 阅读全文
posted @ 2020-01-05 20:09 从精通到陌生 阅读(224) 评论(0) 推荐(0)
摘要: 在多线程领域:所谓阻塞,在某些情况下会挂起线程(即阻塞),一旦条件满足,被挂起的线程又会自动被唤醒 为什么需要BlockingQueue 好处是我们不需要关心什么时候需要阻塞线程,什么时候需要唤醒线程,因为这一切BlockingQueue都给你一手操办了,在concurrent包发布以前,在多线程环 阅读全文
posted @ 2020-01-05 13:08 从精通到陌生 阅读(607) 评论(0) 推荐(0)
摘要: 1.让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒。 2.CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,调用线程会被阻塞。其它线程调用countDown方法会将计算器减1(调用countDown方法的线程不会阻塞),当计数器的值变成零时,因调用await方法 阅读全文
posted @ 2020-01-04 21:15 从精通到陌生 阅读(234) 评论(0) 推荐(0)
摘要: 并发:多个线程访问同一份资源。 并行:一边听歌一边写论文就是并行,同时做事。 volatile是java虚拟机提供的轻量级的同步机制。 voliatile有三大特性: 1.保证可见性。 2.不保证原子性。 3.禁止指令重排。 JMM(Java内存模型 Java Memory Model)本身是一种抽 阅读全文
posted @ 2020-01-04 11:53 从精通到陌生 阅读(569) 评论(0) 推荐(0)
摘要: CAS是什么? 比较并交换 例子1: public class ABADemo1 { public static void main(String[] args) { AtomicInteger atomicInteger = new AtomicInteger(5); System.out.pri 阅读全文
posted @ 2020-01-02 23:37 从精通到陌生 阅读(1364) 评论(0) 推荐(0)
摘要: ArrayList,HashSet在多线程下会有线程安全问题,会抛java.util.ConcurrentModifycationException 导致原因就是: 并发争抢导致,例如一个人正在写入,另一个人来抢夺,导致数据不一致异常,并发修改异常。 解决ArrayList线程安全问题方案 List 阅读全文
posted @ 2020-01-02 01:18 从精通到陌生 阅读(675) 评论(0) 推荐(0)
摘要: 公平锁和非公平锁 1.公平锁,是指多个线程按照申请的顺序来获取锁,类似排队打饭,先来后到。 2.非公平锁,是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程 比先申请的线程优先获取锁,在高并发情况下,有可能会造成优先级反转或者饥饿现象。 Java ReentrantLock而言,通过 阅读全文
posted @ 2020-01-01 22:04 从精通到陌生 阅读(642) 评论(0) 推荐(0)