NSURLSessionTaskPriority似乎被忽略了?

编程入门 行业动态 更新时间:2024-10-23 01:55:14
本文介绍了NSURLSessionTaskPriority似乎被忽略了?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 在本例中,我以默认优先级启动100NSURLSessionDataTask,然后将最后一个设置为高优先级。但是,它似乎完全没有效果,因为最后一个任务仍以最后运行结束。

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,但没有任何区别。

推荐答案

优先级不会影响应用程序端的优先级。对于主机来说,这是一个提示以一个优先级响应多个请求。主机可以完全忽略它。

若要向主机提供提示如何确定应用程序中的URL会话任务的优先级,请为每个任务指定优先级。指定优先级仅提供提示,不保证性能。[…]

[…]

您可以随时指定或更改任务的优先级,但并非所有网络协议都会在任务启动后响应更改。没有API可让您从主机的角度确定任务的有效优先级。

更多推荐

NSURLSessionTaskPriority似乎被忽略了?

本文发布于:2023-11-24 08:59:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1624565.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:被忽略了   NSURLSessionTaskPriority

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!