学习笔记-许式伟架构课12进程内协同:同步互斥与通讯

进程内的执行体有线程和协程,这两类执行体的协同机制概要如下:

1.原子操作

cup提供的能力,与操作系统无关。这里列上只是为了让你能够看到进程内通讯的全貌。

原子操作的每一个操作都是原子的,不会中途被人打断,这个原子性是 CPU 保证的,与执行体的种类无关,无论 goroutine 还是操作系统线程都适用。从语义上来说,原子操作可以用互斥体来实现,只不过原子操作要快得多。

2.执行体的互斥

锁就是共享的内存。

3.执行体同步

条件变量是最复杂的同步原语。有更高阶的原语-管道可以替代。

而操作系统课本还是那个的信号量这样的同步原语,这里没有交代,是因为被性能更好更强大的同步原语条件变量替代了。

4.执行体通讯

下期,我们将讨论进程与进程之间的协同:进程间的同步互斥、资源共享与通讯。

发布了241 篇原创文章 · 获赞 25 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/u013755520/article/details/104388140