Python3のasync/await構文を使用した非同期HTTPリクエストの実装

Pythonにおける並行処理にはいくつかの選択肢があります。マルチプロセスは複数のコアを利用できますがリソース消費が大きく、スレッドはグローバルインタプリタロック(GIL)のため複数コアを活かせません。これらの制約から、コルーチンが好まれることが多いです。従来のコルーチンはジェネレータに基づいており、サードパーティライブラリなしでは実装コストと学習コス ...

7月24日 18:11 投稿

Pythonにおける非同期処理とコルーチンの基礎

コルーチンの基本概念 コルーチンは、マイクロスレッドやファイバーとも呼ばれ、ユーザー空間で動作する軽量なスレッドのようなものです。従来のサブルーチン(関数)は、AからBを呼び出し、BからCを呼び出すといった階層的な呼び出し構造を持ち、必ず決まった順序で戻り値を返します。一方コルーチンは、実行途中で一時停止し、別のルーチンに制御を移した後、再開時に元 ...

7月20日 20:25 投稿

C++20コルーチンの探究(1)——コルーチンの基本概念

コルーチンとは? コルーチンとは、一時停止(サスペンド)と再開(リジューム)が可能なプログラムの断片であり、一般的にはサスペンドとリジュームをサポートする関数です。 通常、関数は一度開始されると中断することはできません。もし関数が中断可能であれば、冒頭で言及したコルーチンと見なすことができます。したがって、サスペンド(一時停止)は中断を意味し、リ ...

7月19日 23:09 投稿

マルチプロセスとコルーチン

目次 1.イテレータ 2.ジェネレータ 3.コルーチン-yield 4.コルーチン-greenlet 5.コルーチン-gevent 6.プロセス、スレッド、コルーチンの違い 7.ケーススタディ:並列ダウンローダー 一.イテレータ イテレーションはコレクションの要素にアクセスする一つの方法です。イテレータは、イテレーションの位置を記憶できるオブジェクトです。イテレータオブジェクトはコレクショ ...

7月10日 00:13 投稿

Unityでカラーフェード効果を実装する方法

注意: 記事作成後、目次は自動生成できます。目次の生成方法については、右側のヘルプドキュメントを参照してください 目次 はじめに 一、カラーフェードの役割 二、実装コード解説 1.UIイメージのカラーフェード 2.テキストのカラーフェード 3.2Dスプライトのカラーフェード 4.考察 はじめに 本記事は、ゲーム開発におけるカラーフェード効果の実装方法について解説しま ...

6月22日 17:21 投稿

KotlinのwithContext、suspend、inlineの詳細解説

withContext withContextはコルーチンのディスパッチャを一時的に変更するための関数です。以下はその使用例です。 package com.kotlin.coroutines.example import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import kotli ...

5月21日 02:54 投稿