我有一段代码,它以每秒5-6次的速度发送长时间运行的任务。每项任务都需要一些时间来完成。在执行1时,我想忽略所有其他任务。当它完成后,一个新的应该取代它。
Swift 4.2中有许多用于并发的工具。什么才是最好的?
发布于 2018-11-11 22:35:06
为了解决这个问题,您可以使用、GCD、或Operation。如果您已经描述过,我将使用操作。使用这种方法,您可以对正在执行的操作有更多的用户友好控制(停止,取消.)。
小例子:
let queue = OperationQueue()
queue.maxConcurrentOperationCount = 1
queue.addOperation { print("") }
queue.addOperation { print("") }
queue.addOperation { print("") }
在这种情况下,操作是逐个执行的。
https://stackoverflow.com/questions/53252829
复制相似问题