![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
带着问题学习多线程
文章平均质量分 90
imaginationtrouble
这个作者很懒,什么都没留下…
展开
-
带着问题理解Synchronized
同步代码块形式——锁为this,两个线程使用的锁是一样的,线程1必须要等到线程0释放了该锁后,才能执行。原创 2024-01-31 22:07:07 · 1720 阅读 · 0 评论 -
带着问题理解Java并发
原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。如果多个线程对同一个共享数据进行访问而不采取同步操作的话,那么操作的结果是不一致的。一个线程对共享变量的修改,另外一个线程能够立刻看到。可见性:CPU缓存引起。原子性:分时复用引起。原创 2024-01-31 21:30:34 · 775 阅读 · 0 评论 -
Java并发中的锁
非公平锁的优点是可以减少唤起线程的开销,整体的吞吐效率高,因为线程有几率不阻塞直接获得锁,CPU不必唤醒所有线程。即使等待队伍里有排队等待的人,但如果在上一个人刚打完水把锁还给管理员而且管理员还没有允许等待队伍里下一个人去打水时,刚好来了一个插队的人,这个插队的人是可以直接从管理员那里拿到锁去打水,不需要排队,原本排队等待的人只能继续等待。如果物理机器有多个处理器,能够让两个或以上的线程同时并行执行,我们就可以让后面那个请求锁的线程不放弃CPU的执行时间,看看持有锁的线程是否很快就会释放锁。原创 2024-01-31 21:11:51 · 855 阅读 · 0 评论