本日も再び、前々回から読み進めている、調べものをしているときに見つけて気になった Concurrency
による並行処理と セマフォ
についての技術ブログの続きを見ていきます。前回の最後の方では本題から逸れて withCheckedContinuation
の特殊性みたいなところを見ていく感じの流れでしたけれど、今回はまた実装の話に戻っていよいよ wait
と signal
についてのコードについて触れられている後半になります。どうぞよろしくお願いしますね。
————————————————————————————————————— 熊谷さんのやさしい Swift 勉強会 #203
00:00 開始 00:47 今回の展望 01:41 isolated 引数 04:39 同一 Actor へのアクセスが異なるスレッドで行われることも 04:52 isolated な引数の使い道は? 07:06 await の実装 08:25 待ち状態のタスク管理 09:32 別のタスクに再開を委ねる 12:14 wait が実装できたかの検証 15:09 同時呼出に耐え得る作りか判らない⋯ 17:35 signal の実装 19:45 CheckedContinuation は Sendable 20:28 これまでのセマフォ実装コード 21:50 考慮していない2つの課題 22:06 セマフォ解放時の待ちタスクの扱い 22:58 セマフォをキャンセルする想定 24:02 単一スレッドによる排他制御 24:40 セマフォでキャンセルを扱う際の注意 25:31 クロージングと次回の展望 —————————————————————————————————————