Avatar
task-to-threadってすごくわかりにくい名前ですよね。最初libdispatchでスケジューリングするんじゃなくてTaskごとにThread割り当てるのかなと思ってました。 (edited)
5:00 PM
実際は非同期なAPIが無い環境、つまりasyncな関数だったとしても中断せずに関数の最後まで1回の実行で到達することが保証できる環境で、syncなコンテキストからasync関数をlibdispatchにスケジューリングせず、今のスレッドでインラインに実行する、という感じだと思ってます。 (edited)
5:02 PM
このコミット面白い https://github.com/apple/swift/pull/59726/commits/34c08b834495b0c691bfc128a469fc61dc3894a4 public static func runInline(_ body: () async throws -> Success) rethrows -> Success (edited)
5:03 PM
Secure EnclaveでSwiftを動かしてるという話が今年のWWDCであったので、その辺のプロジェクトで使われてるんじゃないかなぁと推測 (edited)