其他分享
首页 > 其他分享> > 悲观锁、乐观锁

悲观锁、乐观锁

作者:互联网

悲观锁: 只有要给线程能进入方法,其他线程需要等待,会阻塞、挂起线程 (会有至少一次的上下文切换) 例:sync锁

乐观锁:每个线程都能进入方法,循环判断操作   ,不会阻塞、挂起   例:CAS操作

 

一、什么是上下文切换
即使是单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。时间片是CPU分配给各个线程的时间,因为时间片非常短,所以CPU通过不停地切换线程执行,让我们感觉多个线程是同时执行的,时间片一般是几十毫秒(ms)。 CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个 任务。但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这 个任务的状态。所以任务从保存到再加载的过程就是一次上下文切换。 

 

 

 

标签:乐观,任务,线程,切换,悲观,时间,上下文,CPU
来源: https://www.cnblogs.com/dong91/p/16464098.html