2014-06-22 212 views
1

我正在學習如何進行同步和異步操作。請糾正我,我所提到/學會是正確的:瞭解同步和異步操作

  1. 同步和ASYN操作可以在以下幾個方面進行

    • GCD
    • NSThread(我們可以在任何根據我們的要求挑選)
    • NSOperationQueue-添加的NSOperation

2。 GCD是一個C API,在它上面 - NSThread和NSOperationQueue,NSOperation寫成

3。 NSOperation不過是一個線程,其中包含許多任務。像main()一樣是Thread。如果有人編寫創建線程,這也意味着創建自定義nsoperation

4。 NSConnectionurl,AFNetwork在這些GCD之上,NSThread,NSOperationQueue,NSOperation

回答

1

請在下面找到我的內聯答覆。

1)同步和ASYN操作可以在下面的方式進行(我們可以挑選任何根據我們的要求)

GCD NSThread NSOperationQueue,增加的NSOperation

  • 你的理解是正確的,除了一些修改以及向NSOperatonQueue添加更多信息。

  • 即使執行自定義操作是同步的,通過將其添加到操作隊列中,轉換爲異步操作。

  • 如果自定義操作以同步方式實現,則調用start方法以同步方式工作 - 它使用當前線程執行自己的任務。

2。 GCD是一個C API,並在它的上面 - NSThread和NSOperationQueue,的NSOperation寫

  • 按照我的理解,NSOperaton是在GCD,不是NSThread的基礎上實現的。

3。 NSOperation不過是一個線程,其中包含許多任務。像main()一樣是Thread。如果有人寫得創建線程這也意味着創建自定義的NSOperation

  • 自定義操作要麼執行自己的線程或在單獨的線程任務。它與實現自定義操作不同。

    a)以同步方式實現的自定義操作,即不在調用主方法的start方法中創建線程。它執行當前線程中的操作任務,調用操作啓動方法。

但是,相同的同步自定義操作,通過將其添加到操作隊列中,在單獨的線程中執行其任務。由操作隊列創建的單獨線程。 b)自定義操作以異步方式實現,即在單獨的線程中執行其任務。

4。 NSConnectionurl,AFNetwork在這些GCD之上,NSThread,NSOperationQueue,NSOperation

  • 不知道。
+0

感謝您的回覆..幫助我瞭解更多.. – dinesh