![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
并发编程
Efforts_To_Advanced
这个作者很懒,什么都没留下…
展开
-
并发编程产生的一些问题
1、上下文切换时间片是CPU分配给各个线程的时间。CPU通过时间片分配算法来循环执行任务。当前线程执行一个时间片后会切换到下一个线程,但是,在切换前会保存上一个任务的状态。下次切换回这个任务的时候可以再加载这个任务的状态。任务从保存到在加载几十一次上下文切换。会影响多线程的的执行速度。...原创 2018-07-10 10:40:17 · 179 阅读 · 0 评论 -
Volatile与synchronized的实现原理
1、Volatile保证共享变量的“可见性”。当一个线程修改一个共享变量的时候,另一个线程能读到这个修改的值。是轻量级的synchronized,不会引起线程的上下文切换。如果一个字段被生命为volatile,则java线程内存模型确保所有线程看到这个变量的值都是一致的。2、synchronized重量级锁。java中的每一个对象都可以作为锁。当一个线程试图访问同步代码块时,它首先会得到锁,退出或...原创 2018-07-10 14:32:39 · 219 阅读 · 0 评论