1. 程式人生 > >GCD學習之dispatch_suspend/dispatch_resume

GCD學習之dispatch_suspend/dispatch_resume

dispatch_suspend/dispatch_resume

       當追加大量處理到Dispatch Queue時,在追加處理的過程中,有時希望不執行已追加的處理。例如演算結果被Block截獲時,一些處理會對這個演算結果造成影響。

       在這種情況下,只要掛起Dispatch Queue即可。當可以執行時再恢復。

       dispatch_suspend函式掛起指定的Dispatch Queue。

dispatch_suspend(queue);

       dispatch_resume函式恢復指定的Dispatch Queue。

dispatch_resume(queue)
;

       這些函式對已經執行的處理沒有影響。掛起後,追加到Dispatch Queue中但尚未執行的處理在此之後停止執行。而恢復則使這些處理能夠繼續執行。

       GCD合集: