加载中
多线程学习(6)几种锁机制

CAS 机制 适用场景:乐观认为并发不高,不需要阻塞,可以不上锁。 特点:不断比较更新,直到成功。 缺点:高并发cpu压力大;ABA问题。 ABA问题: CAS机制生效的前提是,取出内存中某时刻的数...

04/10 16:42
142
多线程学习(8)锁 2

ReentrantLock 隐式锁,内置锁,基于JVM内置的,比如synchronized,加锁和解锁的过程不需要我们通过代码去控制,JVM会自动的加锁后并编译为字节码时,会出现monitorenter和monitorexit,来告...

2019/04/15 23:45
116
多线程学习(7)锁

java主流锁体系和分类: 1、乐观锁,悲观锁 悲观锁: 悲观认为自己在使用数据的时候一定有别的线程来修改数据,在获取数据的时候会加锁,确保数据不会被别的线程修改。 锁实现:关键字Synch...

2019/04/14 23:27
164
多线程学习(6)ThreadPoolExecutor 线程池学习-1

threadpool模型: 调用方通过调用api将任务,装进queue里,然后会有一个机制监事queue里有没有task,如果有task,就分配给某个worker去执行。workers代表线程池的话.worker就是某条线程了。 ...

2019/04/14 15:15
223
多线程学习(5)volatile 和 synchronized 的区别

满足同步三个基本条件: 1.原子性 原子性是指操作是不可分的。其表现在于对于共享变量的某些操作,应该是不可分的,必须连续完成。例如a++,对于共享变量a的操作,实际上会执行三个步骤,1.读...

2019/04/03 11:31
167
多线程学习(4)wait/notify

\本文主要学习JAVA多线程中的 wait()方法 与 notify()/notifyAll()方法的用法。 ①wait() 与 notify/notifyAll 方法必须在同步代码块中使用 ②wait() 与 notify/notifyAll() 的执行过程 ③中...

2019/04/02 13:56
54
多线程学习(3)线程之间的通信方式

思考题: JAVA多线程之当一个线程在执行死循环时会影响另外一个线程吗? 会,因为当一个没有实际作用的线程做密集型轮询的时候,它消耗了CPU性能,占用了CPU时间,使得其他线程需要等待更长的...

2019/04/02 13:19
88
多线程学习(2)线程状态转换

说明: 线程共包括以下5种状态。 1. 新建状态(New) : 创建线程的两种方式,extends Thread或者implements Runnable。无论哪种创建方式,只要线程对象被创建后,就进入了新建状态。 2. 就绪状...

2019/04/01 15:09
86
多线程学习(1)产生死锁的条件和解决办法

死锁概念及产生原理 概念:多个并发线程因争夺系统资源而产生相互等待的现象。 原理: 在多线程环境下,某些资源具有互斥性,当被一个线程占用后,其他线程无法获取该资源;而一个线程为了完...

2019/03/29 16:47
262

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部