7
如果某個塊在用戶退出應用程序時在後臺隊列上異步執行,會發生什麼情況?它會被終止嗎?是否要在–applicationWillTerminate:
中處理?如果應用程序終止,在GCD調度隊列上運行的塊會發生什麼情況?
我不是在談論長時間運行的任務..只是想知道是否有任何可能導致不一致狀態異步的內在危險?
如果某個塊在用戶退出應用程序時在後臺隊列上異步執行,會發生什麼情況?它會被終止嗎?是否要在–applicationWillTerminate:
中處理?如果應用程序終止,在GCD調度隊列上運行的塊會發生什麼情況?
我不是在談論長時間運行的任務..只是想知道是否有任何可能導致不一致狀態異步的內在危險?
所有線程(創建或不創建GCD)都會在應用程序退出時終止,所以是的,如果程序塊還沒有運行,程序塊將不會運行(永遠)。如果在應用程序可以安全地退出之前需要完成的工作正在完成,那麼您可以在-applicationWillTerminate中等待,但這樣設置事實上並不是一個好主意,因爲您的應用程序也可能被用戶強制退出, -applicationWillTerminate可能永遠不會運行。