在这个例子中,我以默认优先级启动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,没有任何区别。
是上传还是下载任务? –