在這個例子中,我以默認優先級啓動100 NSURLSessionDataTask
,但將最後一個設置爲高優先級。然而,它似乎沒有任何作用,因爲最後一項任務仍然最後結束。NSURLSessionTaskPriority似乎被忽略?
NSURLSession *session = ...
NSURLRequest *request = ...
for (int i = 1; i<=100; i++) {
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSLog(@"%d", i);
}];
if (i == 100) {
dataTask.priority = NSURLSessionTaskPriorityHigh;
}
[dataTask resume];
}
爲什麼高優先級這個任務沒有在其他99默認優先級之前運行?我期望也許有些早期的任務可能會在高優先級任務被添加之前開始執行,但不是全部。
我甚至嘗試將HTTPMaximumConnectionsPerHost設置爲1,沒有任何區別。
是上傳還是下載任務? –