申し訳ありません初心者プログラマーは、クラスのインスタンスを一度に 1 つだけ実行することについて質問します。そして今、コードを構造化する正しい方法を見つけるのに苦労しています。
私は調査しましたが、適切なアプローチを見つけるのに苦労していますが、適切なpythonicアプローチに関する多くの議論は、モジュールまたはシングルトンであることです。たとえば、クラスのインスタンスが1つだけ実行されるようにする
3 つの変数 (2 つの温度と圧力センサー) を継続的にログに記録し、変数の傾向を調べるいくつかのロジックに基づいて、バルブを移動するコード (python 2.7.2) がいくつかあります (if ステートメントが true の場合、defs を呼び出します)実際には、すべての定義で同じデータセットを見て同じバルブを動かしたいので、多くのグローバルが散らばっているモジュール)。現時点では、これはすべてモジュール ファイルで正常に機能します。
ただし、ラボの他のユーザーが私のコードを実行できるようにするには、一般的な GUI から起動する必要があります。したがって、プロセスが GUI とコマンド ラインを結び付けないように、コードをスレッド化する必要があります。
私はコードをクラスに書き直し始め(スーパークラスのスレッド化を使用)、1 つ以上のスレッドが同じバルブを制御しようとしないように、クラスのインスタンスが 1 つだけ呼び出されたことにロジックを追加したいと考えました。 .
今、私はこれが Python ではそれほど簡単ではないことを発見し、「シングルトン」の概念が悪いことを読み、コードを構造化する方法の解決策を見つけるのに苦労しています。
これは答えられたに違いないと思うので、誰かが私を正しい方向に向けることができれば幸いです。