目录
前言
本篇围绕理解引发线程安全的原因以及如何解决;
一、引发线程安全的原因
1.抢占式执行
多线程调度的过程,可以是认为“随机”的,没有规律;
例如:你定义了一个变量count,执行了count++这种操作,本质上是三个CPU指令,load、add、save,而CPU执行指令都是以一个指令为单位顺序进行的,试想,有两个线程同时执行count++操作,这些一个一个的指令就会抢占执行,线程一的add的操作刚完,线程二的add就抢占了下一个位置...
总结:线程抢占式执行,是线程的不安全的万恶之首,并且是内核实现,咱是无能为力的~