我'使用AFNetworking 3.0,它使用NSURLSessionDataTask
也是一個operationQueue(該AFURLSessionManager
的屬性),其被用作delegateQueue爲NSURLSession
如何進行NSURLSession delegateQueue影響任務併發性的maxConcurrentOperationCount
所以簡單地說
AFURLSessionManager.operationQueue
== NSURLSession.delegateQueue
AFNetworking 3代碼
self.operationQueue = [[NSOperationQueue alloc] init];
self.operationQueue.maxConcurrentOperationCount = 1;
self.session = [NSURLSession sessionWithConfiguration:self.sessionConfiguration delegate:self delegateQueue:self.operationQueue];
來自Apple文檔。到NSURLSession委託隊列
調度委託調用和完成處理程序的操作隊列。隊列不必是串行隊列。如果爲零,會話將創建一個串行操作隊列以執行所有委託方法調用和完成處理程序調用。
確實設置了self.operationQueue.maxConcurrentOperationCount = 4;
意味着會有最大值。 4同時處理NSURLSessionDataTask
?並將其設置爲= 1(AFNetworking的默認值)表示當前只有一個任務,並且必須完成另一個任務才能開始?
或者我錯了,這隻影響委託消息傳遞,意味着將其設置爲4可以在4個不同的線程上觸發委託回調...並設置爲1意味着回調總是在相同的線程,但任務仍然同時處理
上面的Apple文檔的報價中是否存在拼寫錯誤?而不是「隊列不需要是串行隊列」,它應該是「隊列應該是串行隊列」。很明顯,我不敢編輯它,因爲擔心我錯過了一些東西。 https://developer.apple.com/documentation/foundation/nsurlsession/1411597-sessionwith配置 – SimSim