并发与线程
文章平均质量分 63
萌白在努力
萌白今天也在努力学习与尝试发博客ε≡٩(๑>₃<)۶
展开
-
Java并发练习:ThreadLocal的理解与使用
问题:ThreadLocal是什么? ThreadLocal 线程局部变量,只能在当前线程中调用,其他线程无法访问(包括主线程)。 每个Thread线程中都有一个属性threadLocals,通过ThreadLocal才能使用该属性。 在应用程序中,所有线程其实是共享同一份内存的,因此数据实际上是可以互相操作的。但是这会带来很大的程序隐患,因此线程需要封闭,避免并发问题。而ThreadLocal就是用来实现把数据进行隔离,数据不共享。 ThreadLocal 就是一种以空间换时间的做法,在每个 Threa原创 2021-04-16 23:11:29 · 162 阅读 · 0 评论 -
Java并发练习:volatile详解
问题:为什么要使用volatile? 最主要的原因就是CPU的分级缓存问题,每个CPU都具有独立的缓存,而变量的值存在CPU的独立缓存中,没有及时进行刷新导致。 CPU与Java虚拟机会对程序代码进行指令重排来优化代码。 代码演示: package com.miracle.study.vola; import java.util.concurrent.TimeUnit; /** * @author Miracle * @date 2021/4/15 16:39 */ public class原创 2021-04-15 17:07:17 · 111 阅读 · 0 评论 -
笔记分享:进程与线程的关系
图片均来源于网络 进程和线程的由来 串行:初期的计算机智能串行执行任务,并且需要长时间等待用户输入 批处理:预先将用户的指令集中成清单,批量串行处理用户指令,仍然无法并发执行 进程:进程独占内存空间,保存各自运行状态,相互间不干扰可以互相切换,为并发处理任务提供了可能 线程:共享进程的内存资源,相互间切换更快速,支持更细粒度的任务控制,使进程内的子任务得以并发执行 进程和线程的区别...原创 2019-09-28 16:44:38 · 97 阅读 · 0 评论