【发布时间】:2019-08-23 13:07:47
【问题描述】:
我想在 Swift 中创建一个简单的线程。
我以前没有使用 Objective-C 的经验,所以我发现文档相当混乱,包括“接收器”、“选择器”和“目标”等术语 - 有人可以澄清一下吗?
我目前在没有子类化 Thread 的情况下从函数启动线程的尝试如下:
https://developer.apple.com/documentation/foundation/thread
import Foundation
func run(msg: String) -> Void {
for i in 1...1000 {
print("\(i):\(msg)")
}
}
let t = Thread(target: nil, selector: run, object: "helloworld")
t.start()
但是,示例无法运行,我在网上找不到任何好的示例。
有人可以提供一个解释的工作示例吗?
【问题讨论】:
-
你应该看看 Grand Central Dispatch
-
一些资源:Threading Programming Guide 和 Concurrency Programming Guide。后者鼓励您使用“Grand Central Dispatch”(GCD)而不是线程。
-
Grand Central Dispatch 是执行线程的一种方式。这个是合法的。 GCD 有其自身的怪癖和局限性