JUC
文章平均质量分 56
风过无痕2018
这个作者很懒,什么都没留下…
展开
-
synchronized的使用与原理
synchronized的使用与原理实现原理synchronized修饰同步代码块synchronized修饰普通方法synchronized修饰静态方法实现原理JVM 是通过进入、退出 对象监视器(Monitor) 来实现对方法、同步块的同步的,而对象监视器的本质依赖于底层操作系统的 互斥锁(Mutex Lock) 实现。具体实现是在编译之后在同步方法调用前加入一个monitor.enter指令,在退出方法和异常处插入monitor.exit的指令。对于没有获取到锁的线程将会阻塞到方法入口处,直原创 2022-03-05 13:29:51 · 268 阅读 · 0 评论 -
synchronize和volatile的区别
synchronize和volatile的区别volatile只能用于修饰变量,synchronize可以用于修饰方法、代码块。随着jdk技术的发展,synchronize在执行效率上会得到较大提升,所以synchronize在项目过程中还是较为常见的;多线程访问volatile不会发生阻塞;而synchronize会发生阻塞;volatile能保证变量在私有内存和主内存间的同步,但不能保证变量的原子性;synchronize可以保证变量原子性;volatile是变量在多线程之间的原创 2022-02-16 22:20:32 · 299 阅读 · 0 评论 -
Synchronized和Lock的区别
synchronized与lock的区别原创 2022-02-13 16:19:29 · 158 阅读 · 0 评论 -
线程的状态
线程的状态原创 2022-02-13 14:16:38 · 190 阅读 · 0 评论 -
【线程池】
线程池参数、线程池运行原理、线程池的拒绝策略原创 2022-02-13 01:41:39 · 119 阅读 · 0 评论 -
JUC—CompletableFuture笔记
CompletableFuture笔记1. Future和Callable接口Future接口定义了操作异步任务执行一些方法,如获取异步任务的执行结果、取消任务的执行、判断任务是否被取消、判断任务执行是否完毕等。Callable接口中定义了需要有返回的任务需要实现的方法。应用: 比如主线程让一个子线程去执行任务,子线程可能比较耗时,启动子线程开始执行任务后,主线程就去做其他事情了,过了一会才去获取子任务的执行结果。2. FutureTask本源的Future接口相关架构FutureTa原创 2022-01-01 02:06:56 · 493 阅读 · 0 评论