java并发
itakyubi
菜鸡
展开
-
JAVA多线程和线程池
目录1、线程状态(1) 新建状态(2) 就绪状态(3) 运行状态(4) 阻塞状态(5) 死亡状态2、线程优先级3、同步工具synchronized、wait、notify4、创建线程(1) 实现 Runnable 接口(2) 继承 Thread 类(3) 通过 Callable 和 Future 创建线程5、三种创建方式的区别6、线程池(...原创 2019-08-25 11:06:12 · 6586 阅读 · 0 评论 -
ReentrantLock 和 Synchronized 的区别
目录1、ReentrantLock的常用方法有:2、ReentrantLock 和 Synchronized 的区别(1) 中断响应(2) 实现公平锁(3) 锁绑定多个条件(Condition对象)1、ReentrantLock的常用方法有: lock():获得锁,如果锁已被占用,则等待; lockInterruptibly():获得锁,但优先响应中断; ...原创 2019-09-03 21:02:23 · 99 阅读 · 0 评论 -
volatile可见性实现原理
当修改volatile变量时,会给cpu发送一个信号告诉其他cpu这个变量已修改,当其他cpu调用这个变量时,就会先检查是否有收到修改该变量的信号,有则重新从内存中读取。volatile是无锁的,类似于乐观锁的机制。 在说这个问题之前,我们先看看CPU是如何执行java代码的。首先编译之后Java代码会被编译成字节码.class文件,在运行时会被加载到JVM中,J...原创 2019-09-03 21:06:35 · 3953 阅读 · 5 评论