Skip to Content
Effective Python 第3版 ―Pythonプログラムを改良する125項目
book

Effective Python 第3版 ―Pythonプログラムを改良する125項目

by Brett Slatkin, 鈴木 駿
October 2025
Intermediate to advanced
572 pages
7h 46m
Japanese
O'Reilly Japan, Inc.
Content preview from Effective Python 第3版 ―Pythonプログラムを改良する125項目

9章並行性と並列性

並行性(concurrency)とは、コンピュータがあたかもさまざまな処理を同時に行えるようにする仕組みです。例えば、CPUコアが1つしかないコンピュータにおいて、OSがその単一プロセッサ上で実行するプログラムを高速に切り替えています。この仕組みにより、各プログラムの実行が交互に行われて、プログラムが同時に動いているような錯覚を生み出しています。

並列性(parallelism)とは、コンピュータが実際にさまざまな処理を同時に行えるようにする仕組みです。CPUコアが複数あれば、プログラムを複数同時に実行できます。各CPUコアがそれぞれ異なるプログラムの命令を実行するので、複数のプログラムを同時に処理できます。

並行性は、単一プログラムにおける特定の問題を解決する有用なツールです。並行性を使えば、異なるI/Oストリームのような複数の独立した実行経路を持つプログラムを、見かけ上同時に独立して処理できます。

並行性と並列性の最も重要な違いはスピードアップです。プログラム内の2つの異なる実行経路を並列に処理する場合、作業全体にかかる時間は半分になり、実行速度は2倍になります。一方、並行処理は異なる実行経路が一見並列に動いているように見えても、実際の作業時間は短縮されません。

Pythonならばさまざまなスタイルで並行処理が書けます。例えば、スレッドならば小規模な並行処理、非同期コルーチンならば大規模な並行処理ができます。また、システムコール、サブプロセス、C言語拡張を介して並列処理もできます。しかし、Pythonで並列処理を本当に並列で実行するのは非常に難しいです。状況に応じてPythonを最適に活用する方法を理解することが大切です。

項目67 subprocessでサブプロセスを管理する ...

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Think Python 第3版 ―コンピュータ科学者の思考で問題を解決する

Think Python 第3版 ―コンピュータ科学者の思考で問題を解決する

Allen B. Downey, 大橋 真也
入門 Python 3 第2版

入門 Python 3 第2版

Bill Lubanovic, 鈴木 駿, 長尾 高弘

Publisher Resources

ISBN: 9784814401338Publisher Website