- 博客(1)
- 收藏
- 关注
原创 头歌Linux之线程同步一
当线程A将寄存器中的值写入内存后,该变量的值完成了加一操作(a=6),而随后线程B也将加一的值写回内存中(a=6),那么最终变量的值只是完成的加一操作,而不是加一再加一。自旋锁与互斥锁的主要区别在于,当执行加锁操作时,如果当前锁不可用,对于自旋锁来说,则阻塞后不会让出cpu,会一直忙等待,直到得到锁。互斥锁操作主要包括加锁、解锁和测试加锁三个,不论哪种类型的锁,都不可能被两个不同的线程同时得到,而必须等待解锁,因此能够保证同一时刻只运行一个线程执行一个关键部分的代码。条件的检测是在互斥锁的保护下进行的。
2024-11-04 12:24:24
1311
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人