摘要: 当一个线程对临界数据资源操作时,必须给出一个期望值,数据实际的值须与期望值相符,否则视为数据被其他线程修改 CAS算法 Compare And Swap 所有操作都由一条CPU指令执行,cmpxchg if(accumulator == Destination){ ZF = 1; Destinati 阅读全文
posted @ 2019-04-02 15:05 Kuparuysaka 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 1.1上下文切换 即使是单核处理器也可以支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。 这是时间片是CPU分配给各个线程的时间,因为时间片非常短,所以CPU通过不停地切换线程执行,使得我们感觉上是多个线程同时执行,时间片一般是几十毫秒。 CPU通过时间片分配算法来循环执行任 阅读全文
posted @ 2019-03-30 15:47 Kuparuysaka 阅读(103) 评论(1) 推荐(0) 编辑