Skip to Main Content
並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ
book

並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ

by 高野 祐輝
August 2021
Intermediate to advanced content levelIntermediate to advanced
384 pages
5h 31m
Japanese
O'Reilly Japan, Inc.
Content preview from 並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ

1章1章 並行性と並列性

 本書は並行プログラミングに関する書籍であるが、並行性(concurrency)と似たような言葉に並列性(parallelism)という言葉があり、並行性と同時に並列性についても言及する。ところで、世の中を見渡してみると、並行性と並列性が同じ意味で利用されていることも多く、これらの単語の解釈について、しばしば混乱が見られる。そこで、本章では、並行プログラミングの説明を行う前に、並行性と並列性、この良く似た2つの概念について厳密に考察する。

1.1 プロセス

 並行性と並列性の説明に移る前に、本節では、プロセスという用語と概念の定義を行う。存在論的に述べるならば、物事にはモノとプロセスがあり、モノとは空間的な広がりはあるが時間的な広がりはないような存在者で、プロセスは空間と時間の両方に広がりがあるような存在者となる。つまり、モノはある特定の時間で全体が存在するが、プロセスは特定の時間では部分しか存在しないような存在者である。例えば、サッカーボールはある時間で全体が存在するようなモノであるが、サッカーのゲームはある時間ではゲームの一部分しか存在せず時間的な広がりのあるプロセスである。

 プロセスとはこのようにある種のカテゴリーを表す用語であるが、本書でプロセスと言ったときは、何らかの計算を行う抽象的な計算実行体という計算に関するプロセスのみを指す。そのようなプロセスには、例えば、画面に絵を描画するプロセス、テストの平均点を計算するプロセスなど、さまざまな計算、あるいは処理を行うプロセスが存在する。プロセスは、計算を完了させるためにいくつかのステップを経た後、最終的に計算を停止する(当然、計算が停止しない問題では計算は停止せず、永遠に実行中か待機中となる)。このプロセスは、本書では以下のように定義する。 ...

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.
Start your free trial

You might also like

データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理

データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理

Martin Kleppmann, 斉藤 太郎, 玉川 竜司

Publisher Resources

ISBN: 9784873119595Other