dispatch_suspend/dispatch_resume
當(dāng)追加大量處理到Dispatch Queue時(shí),在追加處理的過程中们拙,有時(shí)希望不執(zhí)行已追加的處理。例如演算結(jié)果被Block截獲時(shí)阁吝,一些處理會(huì)對這個(gè)演算結(jié)果造成影響砚婆。
在這種情況下,只要掛起Dispatch Queue即可突勇。當(dāng)可以執(zhí)行時(shí)再恢復(fù)装盯。
dispatch_suspend函數(shù)掛起指定的Dispatch Queue。
dispatch_suspend(queue);
dispatch_resume函數(shù)恢復(fù)指定的Dispatch Queue甲馋。
dispatch_resume(queue);
這些函數(shù)對已經(jīng)執(zhí)行的處理沒有影響埂奈。掛起后,追加到Dispatch Queue中但尚未執(zhí)行的處理在此之后停止執(zhí)行定躏。而恢復(fù)則使這些處理能夠繼續(xù)執(zhí)行账磺。