渡劫 C++ 协程(6):基于协程的挂起实现无阻塞的 sleep
如果你想要等待 100ms,你会怎么做?sleep_for(100ms) 吗?
如果你想要等待 100ms,你会怎么做?sleep_for(100ms) 吗?
协程想要实现异步,很大程度上依赖于调度器的设计。
协程主要用来降低异步任务的编写复杂度,异步任务各式各样,但归根结底就是一个结果的获取。
我们还可以对序列生成器产生的数据流做进一步的筛选和处理,而这一切都可以基于协程去实现。
序列生成器是一个非常经典的协程应用场景。
C++ 20 当中正式对协程做出了初步的支持,尽管这些 API 并不是很友好。
现在很多 iOS APP 还是用 Objective-C 写的,异步函数在 Objective-C 当中怎么调用也是个问题。
如果我想要定义一个变量,它的值只在 Task 内部共享,怎么做到呢?
我们已经知道可以使用 actor 来确保数据的线程安全,但对于数据的保护总是需要定义专门的 actor 实例是不是太麻烦了一些?