應用場景一:某件事情由A、B兩人(或者更多人)完成,任務開始後,兩人隨時能夠處理任務,只需有一人處理完成,此事情便可結束。資源
應用場景二:某件事情由A、B兩人(或者更多人)完成,任務開始後,兩人隨時能夠處理任務,若是A先處理任務,則B此時不能看到此任務,反之亦然。只需任意一人處理完任務,此事情便可結束。io
應用場景三:某件事情由A、B兩人(或者更多人)完成,任務開始後,兩人隨時能夠處理任務,若是A先處理任務,則B此時不能看到此任務,反之亦然。A搶先處理任務時,若是發現任務本身沒法處理,應該交由B處理,則選擇釋放,此時B又能看到此任務進行處理,反之亦然。比賽
衍生出來的場景還能夠有不少,好比場景一中能夠在處理任務時增長一個獨佔功能,在必要時將任務獨佔住,另外的人沒法看到。多人能夠同時處理任務,實現方式能夠有多種:實例化多個任務,每人一個實例,單獨完成。也能夠只實例化一個任務,使用多個Slot(可使用泳道概念來理解),每人一個泳道,互不干涉。比如兩人游泳的比賽,能夠將兩人安排的兩個長度同樣的游泳池中(一個任務的屢次實例化),同時發令開始游泳,誰先到誰贏,也能夠在一個游泳池中劃分出兩個泳道,每人一個泳道,同時發令開始游泳,誰先到誰贏。區別在於使用的資源不同。實例化
應用場景四:某件事情由A、B兩人完成,任務開始後,兩人能夠同時處理任務,當A昨晚時,須要等待B完成才能繼續作下一件事情,反之亦然。只有當兩人都處理完成時,此事情纔算結束。實例
分爲多人處理的任務: