![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
juc
文章平均质量分 79
我是鸹貔
一直在学习
展开
-
JUC-Java内存模型(JMM)与重排序
而java的并发是借助来完成线程之间的通信的。原创 2024-07-24 19:08:19 · 350 阅读 · 0 评论 -
JUC-synchorized与锁原理、锁的升级与膨胀
当某一个线程对一个对象进行加锁时,会在栈帧中创建一个锁记录(Lock Record),并使用==CAS将对象的Mark Word中的信息保存到该锁记录中,而Mark Word中就记录该锁记录的地址,以及锁标志位(00)。,每一个java对象都可以关联一个Monitor对象,使用synchronized给一个对象加锁(重量级锁),该对象的对象中的Mark Word就被设置指向一个Monitor对象的指针,这其实也就是重量级锁的加锁过程。,也就是说在一个对象创建的时候,其Mark Word的。原创 2024-07-19 22:38:42 · 1146 阅读 · 0 评论 -
JUC-并发的概念
⭐什么是并发,什么是并行:单核CPU也存在并发问题吗?单核cpu也是存在并发问题的。至于什么是上下文切换,简单来说就是任务从保存到再加载执行的过程就是一次上下文的切换。CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。并发一定比串行快吗?多线程就一定快吗?测试上下文切换的工具:减少上下文切换的方法:当一个线程竞争资源失败,他会进入阻塞队列并让出CPU,并且不会释放它当前已经持有的任何原创 2024-07-16 16:43:19 · 276 阅读 · 0 评论 -
JUC-常见方法与线程的状态
主线程直接调用某个线程t1的run()方法,run方法也会执行,但是并不会启动新的线程,而是有主线程调用的run方法,必须使用start才能启动新线程,但是start只能调用一次。守护线程,只要其它非守护线程运行结束了,即使守护线程代码没有执行完,也会强制结束。在操作系统中,有5种状态:新建、就绪、运行、阻塞、死亡。:如果是 true ,将此线程标记为守护线程;join实现线程同步,因为会阻塞等待另一个线程的结束,才能继续向下运行。join本质上是一个对象锁,是被synchronized修饰的。原创 2024-07-12 11:15:53 · 564 阅读 · 0 评论 -
JUC-线程的创建、运行与查看
本文是JUC中线程的创建、运行以及查看原创 2024-04-09 23:18:04 · 270 阅读 · 1 评论