【发布时间】:2018-05-15 02:40:08
【问题描述】:
在阅读了并发和串行队列、同步和异步之后,我想我对如何创建队列以及它们的执行顺序有了一个想法。我的问题是,在我看过的任何教程中,都没有其实告诉你很多用例。例如:
我有一个网络管理器,它使用 URLSessions 并序列化 json 以向我的 api 发送请求。将它包装在 .utility 队列或 .userInitiated 中是否有意义,或者我只是不将它包装在队列中。
let task = LoginTask(username: username, password: password)
let networkQueue = DispatchQueue(label: "com.messenger.network",
qos: DispatchQoS.userInitiated)
networkQueue.async {
task.dataTask(in: dispatcher) { (user, httpCode, error) in
self.presenter?.loginUserResponse(user: user, httpCode: httpCode, error: error)
}
}
我的问题是:我是否可以遵循任何指导方针来了解何时需要使用队列,因为我无法在任何地方找到此信息。我意识到苹果提供了示例用法,但是它非常模糊
【问题讨论】:
标签: swift grand-central-dispatch