1

24 時間 365 日実行されているコードがあります。また、エラーを発生させずにリアルタイムで変数を変更できるようにするために使用できる方法があるかどうか疑問に思っていますか? raw_input() を使用していましたが、プログラムが順次実行されているため、プログラムが「停止」します。

私の考えは、while true ループを使用することです。

while true:
    ...
    ...

最初の数回のループでは、システムに事前にプログラムしたデフォルトのキャッチすべての値を使用します。実行中に、いくつかの定数項 (制御として機能する) を「リアルタイム」で変更したいと思います。したがって、次のループ以降では、事前にプログラムされたバージョンではなく、新しい値が使用されます。

4

1 に答える 1

1

あなたのコードまたはあなたがやろうとしていることの詳細の一部が役立ちます。

しかし、それを行う 1 つの方法は、2 つのプロセスを持つことです。1 つのプロセスはstandard inwithから読み取ります。これをp1raw_input()と呼ぶことができます。そして、データ構造を処理するもの (この場合はリスト) をp2と呼びます。

2 つのプロセスは、ソケットまたは任意のものを使用してメッセージ パッシングと通信できます。

次に、新しいデータがp1で読み取られ、 p2でまだ更新されていないという競合状態を回避するようにしてください。したがって、p2は古いデータを使用し続けます。これを行う 1 つの方法は、ロックを使用することです。

于 2012-12-27T19:31:03.680 に答える