2012-02-17 30 views
0

問題があります:Python 3.2でループを途切れずに実行する必要があるプログラムを作成していますが、同時に実行する必要がありますスクリプトの主要部分からデータ(文字列など)を送受信できます。パーツは次のように動作します:Python 3でループと関数を同時に実行する

# Continuing loop (LOOP) 
while True: 
    data.read() 
    if data[2] == "ff": 
     string += data 
    if request = True: 
     SEND(string, MAIN) 
     string = [] 

# Main program (MAIN) 
hexValues = REQUEST(string, LOOP) 

したがって、同時に実行しているPythonの2つのプロセスがあるように、互いに話しています。

これも可能ですか?もしそうなら、どうすればいいですか?

編集:私はUbuntu GNU/LinuxとPython 3.2を使用しています。

+0

私は十分な答えを書く時間がありませんが、スレッドモジュールを見てください:http://docs.python.org/library/threading.html – mwcz

答えて

0

これはthreadingモジュールのためのものです。 multiprocessingもご覧ください。

+0

私は以前スレッドについて知っていましたが、私はGILと呼ばれるもののためにPython 3でスレッドを使用しないでください。これはまだ関連していますか? – fouric

+0

@GrantVesely:それはFUDなので、無視してください。 GILは、スレッドでマルチプロセッササポートを実装することができないことを意味します(これはスレッドが最初にやったことのないものです)。それで全部です。それはあなたのような場合にはスレッドを使用すべきではないということではありません。これはスレッド*が使用されることを意図しています。 –

関連する問題