並行プログラミング入門の表紙

並行プログラミング入門(ヘイコウプログラミングニュウモン)

Rust 、 C 、アセンブリによる実装からのアプローチ

著者:
高野祐輝(タカノ ユウキ)
出版社:
オライリー・ジャパン
出版日:
2021年08月24日頃
ISBN:
9784873119595
在庫:
在庫あり
★★★★☆4(4 件)
中級者向け
プログラミングプログラミング入門RustC並行プログラミングアルゴリズムスレッド管理アトミック操作async/awaitアクターモデル

なぜ注目されているか

総合
38
8 件の言及
言及数
312
01120222023202420252026

書籍紹介

並行プログラミングの基礎的なアルゴリズムと実装方法について解説!
複数のプログラムを並列に実行する「並行プログラミング」は、処理速度を飛躍的に向上させる昔からある手法ですが、タスク管理、プロセス管理、スレッド管理をはじめ、複雑なしくみについての幅広い知識とテクニックが必要となります。本書は Rust と C を使い、 CPU のアトミック命令、グリーンスレッド、アクターモデル、ソフトウェア・トランザクショナルメモリ、 async/await など、並行プログラミングに関する理論的な背景から実装までを網羅的に扱います。ソースコードは Github 上で公開、実際に動作するソースコードを参考にしながら読み進められます。

技書の森解説

マルチスレッドやロックフリーといった並行処理の話題は、断片的なブログ記事やフレームワークのドキュメントでは全体像を掴みにくい分野です。本書は、スレッド・ミューテックス・アトミック操作・メモリオーダリングといった低レイヤの仕組みから、アクターモデルやソフトウェアトランザクショナルメモリといった高レイヤの抽象化まで、一冊で見通しを与えてくれます。

サンプルコードは Rust 、 C 、 Assembly などを用いており、 OS やハードウェアに近い層の動作を隠さずに示す方針で書かれています。そのため、ガベージコレクションのある言語だけで開発してきた人には難度が高く感じられるかもしれません。しかし裏を返せば、「なぜデータ競合が起きるのか」「なぜこの順序保証が必要なのか」をメモリモデルの水準で理解できるため、言語を問わず並行処理のバグに立ち向かう力が鍛えられます。

タイトルに「入門」とありますが、前提として C 言語程度のシステムプログラミング経験がある読者を想定しています。並行処理の原理を腰を据えて学びたい中級以上のエンジニアに向いた、骨太な一冊です。

言及 Qiita 記事 (7 件)

言及 Zenn 記事 (1 件)

この本に興味がある方におすすめ

この本に関連

関連記事

関連用語

共有:Xはてブ