2012-01-26 8 views
-1

guiはフリーズしていましたので、スレッドを試みましたが、それはまだ私の上でフリーズしています。私は何かのそれを不適切にスレッディングですか?Pythonでスレッドする

更新されたコード:http://pastie.org/3259900

は何本のスレッドを組み込むための最良の方法だろうか?

+0

実際のバグではなく、パフォーマンスに関連した質問をしました。 – octopusgrabbus

+0

コードを掲載する**こちら**、どうぞ。それが合理的な投稿には長すぎる場合は編集してください。とにかく問題を示す最小限の例を作ることができるはずです。 –

+0

誰でもアイデアがありますか? – user1152873

答えて

3

あなたのスレッドクラスのようになります。

class workingthread(threading.Thread): 
    def __init__(self): 
     threading.Thread.__init__(self) 

    def run(self): 
     while 1: 
      chat = skype.CreateChatWith(name) 
      chat.SendMessage(message) 
+0

私はその部分を修正しました。 – user1152873

+0

これで問題は解決しますか?それともまだハングアップしていますか? – xkrz

+0

それはそれの凍結部分を修正しましたが、私はまだどのように私はこのプログラムの笑にスレッドを組み込む必要があるか把握しようとしています。 – user1152873

0

は編集開始: を私が最初にあなたのPythonコードを構築した方法で問題をパフォーマンスの問題のそれであるためにあなたの質問を取り、ではありません。数か月前にBoston Python Meetupで議論されたことに基づいて、私はまだ私の答えがあなたに役立つかもしれないと考えています。 編集終了:

少なくともCPythonを使用している場合、各スレッドはGIL(グローバルインタプリタロック)に依存しているため、各スレッドは一度に1つずつ実行されます。複数のプロセスを使用する場合はそうではありません。 PythonのいくつかのディストリビューションではGILの問題を回避しようとしましたが、CPythonは回避しようとしていませんでした。あなたがCであなたのスレッドを実装し、そのコードにアクセスするためのPython Cインタフェースのいずれかを使用している場合

さて、これらのスレッドはプロセッサの可用性に同時に依存実行されますが、GILによってアップ保有することはできません。

関連する問題