操作系统:线程与原子性
可以理解一个线程就像一条单链表,依次执行每一步的操作。
当有多个线程时就像是增加了新的单链表。
在单处理器时代,同时只选取一个进程执行,所有可以很容易保证原子性。
此处引入原子性:即处理器和内存同一时间内被一个线程完全占有
但到了多处理器时代,就会出现多个线程同时进行,并且使用同一片内存。
这样自然容易丧失原子性:
例如,有个钱包(全局变量)存了100块钱,如果两个人(线程)同时去取的话,就会出现冲突,很有可能打起架来。
可以理解一个线程就像一条单链表,依次执行每一步的操作。
当有多个线程时就像是增加了新的单链表。
在单处理器时代,同时只选取一个进程执行,所有可以很容易保证原子性。
此处引入原子性:即处理器和内存同一时间内被一个线程完全占有
但到了多处理器时代,就会出现多个线程同时进行,并且使用同一片内存。
这样自然容易丧失原子性:
例如,有个钱包(全局变量)存了100块钱,如果两个人(线程)同时去取的话,就会出现冲突,很有可能打起架来。