前回の入門:msyksphinz.hatenablog.com
並列プログラミングに改めて入門するために並行プログラミング入門を読んでみることにした(積読しまくっている)。
ちょっと戻って、第5章の非同期プログラミングを読み直し。
ファイルディスクリプタに対して、並行処理を行いたい場合にはepoll
などのAPIを使って監視するらしい。
これはRustでの実装を眺めるよりも、とりあえず入門としてC/C++での実装をちゃんと確認したほうがよさそう。なんとなく概念は理解した。
コルーチンについては、Pythonで登場していた謎のyield
の動作について基本をやっと理解した。
Rustでも同様の機能がちょっとややこしい形で実現できるらしいが、無理にRustで実現しなくてもいい気がする。
とりあえず、これからはPythonの実装がもうちょっと読み進められそうな気がする。
async/awaitについてはほとんど知識が無かったのだが、JavaScriptで登場するのは良く知っていた。 ここでは、Rustでの実装を理解するよりも、JavaScriptでasync/awaitがどのように使用されているのか、基本的な知識を身に着けたほうがいい気がしてきた。
それ以上の複雑な実装の詳細については、とりあえず読み飛ばしている。