gpt4 book ai didi

swift - Linux 中的异步 Swift 处理不起作用

转载 作者:可可西里 更新时间:2023-11-01 01:09:27 25 4
gpt4 key购买 nike

我正在尝试了解 Swift 4.0 异步处理在 Linux 中的工作原理。

看了documentation之后还有一些answers所以我想出了这个简单的例子:

import Dispatch
import Glibc

DispatchQueue.main.asyncAfter(deadline: .now()) {
print("Done!")
}

print("Sleeping for 2 seconds...")
usleep(2 * 1_000_000)

print("Exiting...")

但是,这只会打印:

Sleeping for 2 seconds...
Exiting...

为什么不打印 Done!?我错过了什么?如何编写一个简单的并行处理示例?

最佳答案

你必须调用dispatchMain()启动 GCD 事件循环:

Executes blocks submitted to the main queue

例子:

DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
print("Done!")
exit(0)
}

print("Starting main event loop...")
dispatchMain()

关于swift - Linux 中的异步 Swift 处理不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48597036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com