【发布时间】:2020-01-17 21:11:15
【问题描述】:
我有一个串行 OperationQueue,其操作调用 usleep。我这样做是因为操作执行块与需要重复直到指定时间的 Timer 同步。
例如,将 3 个操作添加到一个队列,其中 maxconcurrent 设置为 1。每个操作都有一个计时器,该计时器重复到未来 10 秒。在触发第一个操作的此计时器时,下一行代码是 usleep(10 秒)。 10 秒后计时器完成,线程唤醒。下一个操作开始。这是通过设计和工作完成的,但是,我担心睡眠线程的含义。线程是否有可能正在处理一些其他代码,上下文切换来处理操作,然后休眠很长时间,暂停其他执行。 swift 是否知道在操作休眠时让线程执行其他块?
【问题讨论】:
标签: swift multithreading concurrency sleep operation