タグ "blocking-io" を含むブログ一覧 投稿一覧へ戻る

【 Effective Python, 2nd Edition 】ブロッキング I/O ( blocking I/O ) とスレッド ( thread ) を利用しているプログラムを、asyncio 組み込みモジュールを利用してコルーチン ( coroutine ) と非同期 I/O ( asyncronous I/O ) を利用したプログラムにリファクタリング ( refactoring ) しよう!

Tags: python , thread , coroutine , asyncio , blocking io , effective

Published 2020年9月27日22:00 by T.Tsuyoshi

さて、コルーチンを利用した fan-out、fan-in パターン実装を取り上げた記事 を読んで、「でも既存のプログラムをコルーチンを利用した非同期プログラムに移行するのは大変だ」という感想を持った方は多いようです。 Python には言語自体に非同期実行 ( asynchronous execution ) プログラムを記述するための仕様がスマートに組み込まれています。 そ…

【 Effective Python, 2nd Edition 】Python のスレッド ( thread ) はブロッキング I/O ( blocking I/O ) 対策で存在しています。決して並行処理 ( parallelism ) を実現するためではありません!

Tags: gil , python , thread , blocking io , effective

Published 2020年8月15日22:18 by T.Tsuyoshi

Python の標準実装は CPython と呼ばれ、Python プログラムを 2 ステップで実行します。 まず最初に、ソースコードを解析し、バイトコード ( bytecode ) へとコンパイルします。 続いて、そのバイトコードをスタックベースのインタプリタ ( stack-based interpreter ) で実行します。 そのインタプリタは、GIL ( …