Listen

Description

第139章へようこそ。

第138章で、async関数がenumに変換されることを見ました。

中断のたびに判別子とデータが書き換わり、再開のたびに読み出される。

Futureの状態はヒープ上のenumに保持される。

今日のテーマは「メモリ境界」です。

そのenumの中に何を入れられるか、という問いに向き合います。

async関数の中で使う変数は、awaitをまたげばenumのフィールドになる。

しかし、すべての値がenumに入れるわけではない。

タスクの境界を越える値には条件がある。

その条件は、第134章で学んだSendとSyncに直結している。

並行性の次元と時間の次元が、ここで交差します。