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