0
我正在閱讀OperationQueue上的文檔。操作和操作的同步和異步狀態問題
我有這個疑問,我們正在創建的操作BlockOperation和OperationQueue的同步和異步狀態是什麼。
正如我所理解的那樣,它將作爲同步操作運行,但如果我們想以異步方式運行它,我們必須使用dispatch.async以異步方式調度它。
我理解它嗎?
我正在閱讀OperationQueue上的文檔。操作和操作的同步和異步狀態問題
我有這個疑問,我們正在創建的操作BlockOperation和OperationQueue的同步和異步狀態是什麼。
正如我所理解的那樣,它將作爲同步操作運行,但如果我們想以異步方式運行它,我們必須使用dispatch.async以異步方式調度它。
我理解它嗎?
OperationQueue
完成當塊提交到
BlockOperation
回報(或者,如果你繼承
Operation
main
法)
異步操作(即返回其isAsynchronous
財產true
)
同步操作可以看出,需註明在Operation
的子類中通過設置isFinished = true
手動完成(您還應該同時設置isExecuting = false
)。這允許您通過使用Dispatch.async
將您需要執行的任何工作分配給不同的隊列,但仍保留在OperationQueue
中的操作。這對於構建依賴操作或僅允許某些操作並行運行很有用。
蘋果的Operation docs對所有這一切都有很好的解釋。
評論是不適合擴展討論;這個對話已經[轉移到聊天](http://chat.stackoverflow.com/rooms/139280/discussion-on-question-by-jean-luc-godard-sync-and-async-status-of-operation-和)。 –