对于使用特定调度程序的不同类型的协调,如所述的这里。现有类型如下:
identity_immediate()
identity_current_thread()
identity_same_worker(worker w)
serialize_event_loop()
serialize_new_thread()
serialize_same_worker(worker w)
observe_on_event_loop()
observe_on_new_thread()是否有人能帮助解释identity_xxx,serialize_xxx和observe_on_xxx之间的区别,以及每种类型应该在什么时候使用?
发布于 2022-11-11 11:37:24
identity_ --这意味着根本没有同步。没有互斥或者其他类似的东西。它的意思是:identity_immediate -在没有调度程序的情况下,立即发出该项。identity_current_thread -在没有任何同步的情况下调度当前线程的发射(但是它是线程本地的,所以它不需要它)observe_on_ -使用基于队列的调度程序.它使用队列“序列化”来自一个线程的排放,然后从另一个线程处理这个队列:。observe_on_new_thread -放置到队列中,并从新创建的线程中处理它们。observe_on_event_loop -和以前一样,但是它使用的是一个线程池。serialize_ -使用互斥提供同步https://stackoverflow.com/questions/73935600
复制相似问题