並行プログラミング入門(ヘイコウプログラミングニュウモン)
Rust 、 C 、アセンブリによる実装からのアプローチ
- 著者:
- 高野祐輝(タカノ ユウキ)
- 出版社:
- オライリー・ジャパン
- 出版日:
- 2021年08月24日頃
- ISBN:
- 9784873119595
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
並行プログラミングの基礎的なアルゴリズムと実装方法について解説!
複数のプログラムを並列に実行する「並行プログラミング」は、処理速度を飛躍的に向上させる昔からある手法ですが、タスク管理、プロセス管理、スレッド管理をはじめ、複雑なしくみについての幅広い知識とテクニックが必要となります。本書は Rust と C を使い、 CPU のアトミック命令、グリーンスレッド、アクターモデル、ソフトウェア・トランザクショナルメモリ、 async/await など、並行プログラミングに関する理論的な背景から実装までを網羅的に扱います。ソースコードは Github 上で公開、実際に動作するソースコードを参考にしながら読み進められます。
技書の森解説
マルチスレッドやロックフリーといった並行処理の話題は、断片的なブログ記事やフレームワークのドキュメントでは全体像を掴みにくい分野です。本書は、スレッド・ミューテックス・アトミック操作・メモリオーダリングといった低レイヤの仕組みから、アクターモデルやソフトウェアトランザクショナルメモリといった高レイヤの抽象化まで、一冊で見通しを与えてくれます。
サンプルコードは Rust 、 C 、 Assembly などを用いており、 OS やハードウェアに近い層の動作を隠さずに示す方針で書かれています。そのため、ガベージコレクションのある言語だけで開発してきた人には難度が高く感じられるかもしれません。しかし裏を返せば、「なぜデータ競合が起きるのか」「なぜこの順序保証が必要なのか」をメモリモデルの水準で理解できるため、言語を問わず並行処理のバグに立ち向かう力が鍛えられます。
タイトルに「入門」とありますが、前提として C 言語程度のシステムプログラミング経験がある読者を想定しています。並行処理の原理を腰を据えて学びたい中級以上のエンジニアに向いた、骨太な一冊です。
言及 Qiita 記事 (7 件)
エンジニアに読んで欲しい技術書90選
♡ 1951技術書, 書籍, 新人プログラマ応援2024年版機械学習・データ分析の必須10冊+ガチ90冊+Next5冊=105冊
♡ 867本, 機械学習, データ分析, データサイエンス2023年版データ分析の100冊
♡ 654本, 機械学習, データ分析, データサイエンス2025年版機械学習・データ分析の必須10冊+ガチ89冊+Next5冊=104冊
♡ 449本, 機械学習, データ分析, データサイエンスにわかにアセンブリに興味をもった自分が、ふとGeminiに学習プランを聞いてみたら思わぬ収穫があった話
♡ 2アセンブリ言語, GeminiTIER IV Computing System Workshop 2023 参加する前に 安全(102)
♡ 2自動運転, Autoware, 安全, RISC-V, Uppaalデータサイエンス(データ分析、モデル構築)で使える高速化処理に関する参考書
♡ 1Python, Ray, 高速化, 並列処理, DeepSpeed
言及 Zenn 記事 (1 件)
この本に興味がある方におすすめ
この本に関連
関連記事
データベース本ガイド - SQL から設計まで学べる技術書の選び方
データベースの基礎から設計、パフォーマンスチューニングまで学べる技術書の選び方と学習順序を紹介します。
機械学習・AI 本ガイド - エンジニアが読むべき技術書の選び方
機械学習の基礎から実践まで学べる技術書の選び方を紹介。「Python ではじめる機械学習」などのハンズオン本を軸に、数学が苦手な人向けの学習ルートと ML 本の賞味期限の見極め方を解説します。
本についてくるダウンロード素材を使い倒す
プログラミングの本には、サンプルコードや素材のダウンロード特典がついていることがあります。この特典を活用するだけで、学習効率が大きく変わります。