2

別のスレッドへの入力を待っている間に、あるスレッドからメッセージを出力する Python スクリプトを作成したいと考えています。これは可能ですか?もしそうなら、どのように?

システム: Windows 7

言語: Python 2.7

私はこれを試しました(別の質問から変更されました):

import threading
import time

def message_loop():
    while True:
        time.sleep(1)
        print "Hello World"

thread = threading.Thread(target = message_loop)
thread.start()

while True:
    input = raw_input("Prompt> ")

しかし、何が起こるか: プログラムは、出力する前に入力が完了するまで待機しますHello World

4

2 に答える 2

2

それは絶対に可能です。出力を出力する関数がある場合 (それを と呼びましょう)、モジュールprint_outputを使用して別のスレッドで起動できます。threading

>>> import threading
>>> my_thread = threading.Thread(target=print_output)
>>> my_thread.start()

これで、出力の取得を開始する必要があります。その後、メインスレッドで入力ビットを実行できます。新しいスレッドで実行することもできますが、メイン スレッドで入力を実行することにはいくつかの利点があります。

于 2013-07-27T04:25:25.050 に答える