www.oreilly.co.jp
読んでいきます。
半年くらい掛けて概ね内容を理解するのが目標。(理論メインの8章は除く)
自分用メモなので他の人の理解の助けにはならないと思うので注意。
一応組み込みCの経験があるので、pthreadとかプリミティブな内容は大体理解してる状態だけど、Rustはじめ他言語の知識なし。
ーーー
取り合えず、7章までざっと読んだので、まず全体的な感想。
- 全体的に、説明が丁寧で分かり易い。
- コードに処理ごとの説明が載っていてよい。
- 仕組みや概念について、何故それが必要なのか、みたいな説明はあまり無い感じ。
- あとRust自体の説明はやはりあっさりなので、別で学習要(ここは最初からこの本に期待していた部分では無いのでOK)。後半、サンプル読めないとつらい。
自分の中の理解度、というか理解できなかった部分。
- クロージャ、トレイト(あとクレート?)あたりが理解できず。この辺は5章以降で説明に使われるので理解出来て無いと読み進められない。別でRustスタディする。
- 5.1 並行サーバの内容が理解できず。epollの実装例は何が改善されてるのか。
- 6.2 協調的グリーンスレッド、グリーンスレッドがどういうものかイメージできず。
今後の進め方。
- まずはRustを学びつつ復習。2章までの内容理解と、4章までのサンプルが自然に読めるよう。
- 4章、メモリバリア周りはちょっと置いておくかも。
- 言語理解のため、競プロの簡単な問題をRustで解いてみる。(一時期やろうとして断念した)
- 5章以降はそのあと、用語の意味も理解しながら読み進める。
参考文献
- 『並行プログラミング入門』を執筆しました - 未完成な論を綴るブログ
- 書評:並行プログラミング入門 - Software Transactional Memo
- 『並行プログラミング入門』をやっていく会
ーーー
初回はそんな感じ。正直、自分の頭で5章以降が理解できるか怪しいけど、まぁ趣味だしできるところまでは進んでみます。