java多线程
文章平均质量分 95
对java多线程的基础到juc并发包下的一些类的使用以及原理,还有项目中所遇到的多线程问题记录
野生java研究僧
离开那些世俗繁绕,只为这一刻清净
展开
-
共享模型之内存
事实上,现代处理器会设计为一个时钟周期完成一条执行时间最长的 CPU 指令。这时 CPU 可以在一个时钟周期内,同时运行五条指令的不同阶段(相当于一 条执行时间最长的复杂指令),IPC = 1,本质上,流水线技术并不能缩短单条指令的执行时间,但它变相地提高了 指令地吞吐率。happens-before 规定了对共享变量的写操作对其它线程的读操作可见,它是可见性与有序性的一套规则总结,抛 开以下 happens-before 规则,JMM 并不能保证一个线程对共享变量的写,对于其它线程对该共享变量的读可见。原创 2022-10-26 20:07:56 · 120 阅读 · 0 评论 -
3.java多线程学习笔记之共享模型之管程
java多线程核心原理原创 2022-05-02 03:39:53 · 463 阅读 · 0 评论 -
javaSE多线程
1、基本概念:程序、进程、线程程序(program): 为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process): 程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期如:运行中的QQ,运行中的MP3播放器程序是静态的,进程是动态的进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域线程(thread),进程可进一步细化为线程,是一个程序内部的一条执行路径。若一个进程同一原创 2021-09-12 21:22:21 · 209 阅读 · 0 评论 -
1.多线程学习笔记之进程与线程的概念
快速了解java进程与线程的关系,了java中的串行,并行,并发的概念原创 2021-12-12 18:04:07 · 631 阅读 · 1 评论 -
2.多线程学习笔记之线程的创建方式
文章目录2.1.线程的创建方式2.2.查看线程和进程的方法2.3.线程运行原理2.4.Thread常见方法4.1 start与run4.2 sleep 与 yield4.3线程优先级4.4 join4.5 interrupt4.6 合理的终止线程4.7 不推荐使用的方法2.5.守护线程2.6.线程的状态2.7.本章小结2.1.线程的创建方式第一种:直接使用Thread类使用匿名内部类或者继承的方式,重写run方法[无返回值,不能抛出异常]把线程和任务合并在了一起@Slf4jpublic class原创 2021-12-12 18:31:37 · 462 阅读 · 0 评论 -
ArrayBlockingQueue图解源码分析
ArrayBlockingQueue 有界阻塞队列图+源码分析+小总结基于数组的阻塞队列实现,在 ArrayBlockingQueue 内部,维护了一个定长数 组,以便缓存队列中的数据对象,这是一个常用的阻塞队列,除了一个定长数 组外,ArrayBlockingQueue 内部还保存着两个整形变量,分别标识着队列的头部和尾部在数组中的位置。ArrayBlockingQueue 在生产者放入数据和消费者获取数据,都是共用同一个 锁对象,由此也意味着两者无法真正并行运行,这点尤其不原创 2021-12-12 17:30:28 · 451 阅读 · 0 评论