并发
文章平均质量分 94
并发
卑微猿同学
这个作者很懒,什么都没留下…
展开
-
多线程高并发笔记
并发特性 + 锁 + 线程池原创 2022-11-19 19:52:43 · 1078 阅读 · 0 评论 -
Java笔记——volatile
一、volatile简介Java内存模型告诉我们,各个线程会将共享变量从主内存中拷贝到工作内存,然后执行引擎会基于工作内存中的数据进行操作处理。线程在工作内存进行操作后何时会写到主内存中?这个时机对普通变量是没有规定的,而针对volatile修饰的变量给Java虚拟机特殊的约定,线程对volatile变量的修改会立刻被其他线程所感知,即不会出现数据脏读的现象,从而保证数据的“可见性”。现在我们有了一个大概的印象就是:被volatile修饰的变量能够保证每个线程能够获取该变量的最新值,从而避免出现数据脏读原创 2021-07-27 11:32:44 · 168 阅读 · 0 评论 -
Java关键字——synchronized
什么是synchronize如何使用底层原理做过那些优化对象在内存中用户态?内核态?为什么效率低一、认识 Synchronizedsynchornized 是 Java 中的一个关键字,解决的是多个线程之间访问资源的同步性,synchronized 关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。另外,在 Java 早期版本中,synchronized 属于 重量级锁,效率低下。重量级锁:其他线程试图获取锁时,都会被阻塞,只有持有锁的线程释放锁之后才会唤醒这些线.原创 2021-07-21 16:24:38 · 2776 阅读 · 0 评论 -
java笔记_JMM(JAVA内存模型)
一、什么是JMMJMM(Java Memory Model,Java内存模型)因为在不同的硬件生产商和不同的操作系统下,内存的访问逻辑有一定的差异,结果就是当你的代码在某个系统环境下运行良好,并且线程安全,但是换了个系统就出现各种问题。Java内存模型,就是为了屏蔽系统和硬件的差异,让一套代码在不同平台下能到达相同的访问结果。JMM从java 5开始的JSR-133发布后,已经成熟和完善起来。二、JMM介绍首先,什么是线程安全?在《深入理解Java虚拟机》中有相关定义:当多个线程访问同一个对象时转载 2021-07-14 17:21:46 · 298 阅读 · 1 评论 -
java笔记_并发入门
以下内容为从网上摘抄整理而来,仅用于本人知识积累多线程概述线程是独立的执行路径;在程序运行时,即使没有自己创建线程,后台也会有多个线程,比如主线程main()、gc线程(守护线程);main()称之为主线程,为程序的总入口,用于执行整个程序;在一个进程中,如果开辟了多个线程,线程的运行是由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序不能人为干预;对同一份资源操作时,可能会存在资源抢占的问题,需要加入并发控制;线程会带来额外开销,比如cpu调度时间,并发控制开销等;每个线程在自己.转载 2021-05-18 11:41:04 · 121 阅读 · 0 评论 -
java笔记_并发概念
以下内容为从网上摘抄整理而来,仅用于本人知识积累进程进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。在 Java 中,当我们启动 main 函数时其实就是启动了一个 JVM 的进程,而 main 函数所在的线程就是这个进程中的一个线程,也称主线程。如下图所示,在 windows 中通过查看任务管理器的方式,我们就可以清楚看到 window 当前运行的进程(.exe 文件的运行)。线程线程与进程相似,但线程是一个比进.转载 2021-05-14 17:31:20 · 102 阅读 · 0 评论