私はStacklessPythonから始めているので、まったく新しい素晴らしい世界です。私は通常通常のスレッドを使用し、通常はスレッドローカルストレージ(TLS)を備えています。これは、他のスレッドとメモリを共有する必要がない場合に非常に便利な機能です。
だから、Stackless Pythonに似たようなものがあるかどうか疑問に思っています:特定のタスクレットのローカルメモリ(pythonオブジェクト)を保存する方法。それは可能ですか?
前もって感謝します。-f
私はStacklessPythonから始めているので、まったく新しい素晴らしい世界です。私は通常通常のスレッドを使用し、通常はスレッドローカルストレージ(TLS)を備えています。これは、他のスレッドとメモリを共有する必要がない場合に非常に便利な機能です。
だから、Stackless Pythonに似たようなものがあるかどうか疑問に思っています:特定のタスクレットのローカルメモリ(pythonオブジェクト)を保存する方法。それは可能ですか?
前もって感謝します。-f
解決策1:TLSは、stackless.getcurrent()の呼び出しによって取得された現在のタスクレットオブジェクトを使用してスタックレス/グリーンレットでシミュレートし、追加のデータを格納できます。
解決策2:タスクレットがフィールドの追加をサポートしていなかった場合は、タスクレットをweakrefキーとして持つグローバルWeakKeyDictionaryインスタンスを作成でき、値はTLSを表します。