[英]RxCpp: Difference bewteen schedulers
對於使用此處所述的特定調度程序的不同類型的協調。 可用的類型有:
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的區別,什么時候用?
identity_
- 這意味着根本沒有同步。 沒有互斥量或類似的東西。 所以,這意味着:
identity_immediate
- 將在沒有調度程序的情況下立即發出項目identity_current_thread
- 將在沒有任何同步的情況下安排對當前線程的發射(但它是本地線程,因此不需要它)observe_on_
- 使用基於隊列的調度程序。 它使用隊列通過將一個線程的發射排入隊列然后從另一個線程處理該隊列來“序列化”發射:
observe_on_new_thread
- 將發射放入隊列並從新創建的線程處理它們observe_on_event_loop
- 和以前一樣,但它在底層使用了一個線程池serialize_
- 使用互斥鎖來提供同步
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.