
Java多线程
chenzihao36
知行合一
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
高并发编程常用容器和J.U.C包常用工具介绍
J.U.C包中一些工具的简介一、HashMap原创 2020-06-29 17:15:17 · 366 阅读 · 0 评论 -
两个例子解释线程的可见性和原子性问题
两个例子解释线程的可见性和原子性问题多线程情况下,会出现两种线程安全的问题:可见性和原子性问题。具体针对这两种多线程情况下出现问题的解决方案如下:(1)可见性://用volatile关键字屏蔽CPU缓存和指令重排序,保证线程可见性public class VolatileTest { boolean flag = true;//用这个会导致thread1线程不能读到被修改的flag值,thread1线程的循环永远不会结束// volatile boolean flag = true;原创 2020-06-24 11:49:53 · 271 阅读 · 0 评论 -
线程池原理与API使用介绍
线程池原理与API使用简介一、线程池原理首先我们要明确为什么用多线程?是不是线程越多就越好?随着现代多核CPU的发展,原创 2020-06-23 16:29:36 · 512 阅读 · 0 评论 -
synchronized关键字锁升级原理
一、Java中锁的相关概念自旋锁:指当一个线程在获取锁的时候,如果锁已经被其他线程获取,那么该线程将循环等待,然后不断地判断锁是否能获取成功,直到获取到锁。(CAS操作中就用到了自旋锁)乐观锁:它假定不会产生冲突,在修改数据时如果发现数据和之前获取的不一样,则读取最新的数据,修改后(CAS操作)重试。悲观锁:它假定会发生冲突,同步所有对数据的相关操作,从读数据就开始上锁。(如synchro...原创 2019-10-13 23:31:32 · 228 阅读 · 0 评论