Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

异步同步原语

在并发编程中,通常需要同步原语来保证被并发访问的资源的同步,同步原语本身是并发安全的,同时被它控制的资源也是并发安全的。 这和多线程编程语境中的线程安全是相同的。

asco 提供了一系列在 asco 异步运行时中适用的异步同步原语类型。

推荐优先使用 asco 异步同步原语,而不是使用操作系统提供的系统调用或 C++ 标准库提供的同步原语。 asco 异步同步原语会在异步等待时挂起当前协程,由 asco 调度器调度你的程序中的其它协程,而不是阻塞当前进程让操作系统内核调度其它进程。 这样只有当你的程序中没有活动的协程,或当前进程已经耗尽当前的 CPU 时间片时,其它进程才会开始占用 CPU ,会大幅提高运行效率。 这实际上是协程相比多线程效率更高的关键。