序文
本書は、Rust言語の低レイヤ並行性に関する素晴らしい概説書だ。スレッド、ロック、参照カウント、アトミック、メールボックス/チャネルなどを解説し、さらにCPUやOSの動作まで深く説明している。特にOSに関しては、Linux、macOS、Windowsすべてで正しく動作する並行コードを書くことの本質的な難しさも説明している。これらのトピックを実際に動くRustコードとして示している点が特に素晴らしい。最後の章では、セマフォ、ロックフリー連結リスト、キューベースロック、シーケンスロック、さらにはRCUまで説明している。
私のように40年近くCコードを書き続け、最近ではLinuxカーネルの最下層を書いている読者にとって、この本は何を与えてくれるのだろうか。
私は、Linux関連の会議でRustの熱烈なファンから聞かされて、Rustのことを知った。それでも私には関係ないと思っていたのだが、LWNの記事「Using Rust for Kernel Development」で名指しで意見を求められてしまった。それで書いたブログの連載記事が「So You Want to Rust the Linux Kernel?」だ。この連載記事は多くの反響を呼んだ。そのうちの一部はこの連載記事のコメント欄で見ることができる。
その議論の中で、Rustでも大量のコードを書いているある古参のLinuxカーネル開発者が、Rustで並行コードを書くならRustが望む書き方で書くべきだと言っていた。これは素晴らしい忠告だが、Rustが望む書き方とはどんなものなのか、という問いは未解決のままだった。本書はこの問いに対して素晴らしい回答を与えてくれる。並行性について学びたいRust開発者にとっても、Rustではどうしたらいいのかを学びたい他の言語の並行コード開発者にとっても、本書に価値があるのはこのためだ。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access