我需要暂停一个插入NSOperationQueue的正在运行的NSOperation.目前我取消所有操作并重新启动它们.但这会导致在完成流程方面出现某种重复.我尝试使用NSOperationQueue的setSuspended标志.但它并没有暂停这项行动.有什么出路吗?
我有一个 UDP 方法,它使用以下代码使用 DispatchQueue 等待回复:
DispatchQueue.global(qos: .userInitiated).async {
let server:UDPServer=UDPServer(address:"0.0.0.0", port:5005)
let (data,_,_) = server.recv(1024)
DispatchQueue.main.async {
...
}
}
Run Code Online (Sandbox Code Playgroud)
这非常有效,并启动了一个等待我的数据进来的过程。如果我们从未收到回复,让我夜不能寐的是会发生什么?server.recv 永远不会返回,所以我看不到这个过程将如何结束?有没有办法给它预定的运行时间?