随笔分类 -  Java线程

摘要:(目录) 什么是原子性问题 原子性是指在一个操作中,cpu不可以在中途暂停然后再调度,要么一次执行完成,要么就不执行。 在Java中当我们讨论一个操作具有原子性问题,是一般就是指这个操作会被线程的随机调度打断而产生的一系列的问题。 举例说明一下 我们先来看一些例子,来了解什么是原子性的操作 a = 阅读全文
posted @ 2020-11-18 16:58 xyyyn 阅读(416) 评论(0) 推荐(0)
摘要:(目录) 什么是内存屏障 在转载的大佬的文章既生synchronized,何生volatile中,提到了synchronized与volatile的底层实现原理的不同,synchronized本质上是一种阻塞锁,而volatile则是使用了内存屏障来实现。所以在这里对内存屏障进行一个简单的介绍 为了 阅读全文
posted @ 2020-11-18 16:57 xyyyn 阅读(644) 评论(0) 推荐(0)
摘要:(目录) happen-before是什么 happen-before出现的原因 为了明确定义多线程场景下重排序的问题,Java引入了JMM(Java Memory Model),也就是Java内存模型。如果有了重排序就会出现原子性,可见性,有序性的问题,但是性能会提升。所以Java内存模型不是真实 阅读全文
posted @ 2020-11-18 16:55 xyyyn 阅读(493) 评论(0) 推荐(0)
摘要:线程 多线程是同时有多个线程并发执行,同时完成多个任务,具有多个顺序执行流,且执行流之间互不干扰 Java语言对多线程有非常优秀的支持 线程和进程 在操作系统中,每一个独立的应用程序都是一个进程,当一个程序进入内存以后就会变成一个进程, 进程是操作系统进行资源分配和调度的独立单位。 进程的三个特征 阅读全文
posted @ 2020-10-21 20:44 xyyyn 阅读(154) 评论(2) 推荐(0)