ホーム>source

私はpythonでスレッドを学び始めました。 ここでこのコードを見て、2つのスレッドを同時に実行する場合は 私は無料のudemyコースから学んでおり、これが彼がスレッド名を印刷する方法です。 彼だけが「スレッド1」、「スレッド2」を取得します。 私はこのようにする必要があります:

<前>ウィズウィズ

ここで見ました: 2つの関数を同時に実行する

今、私がやろうとしていることは、2つまたは3つのスレッドを同時に実行し、それらの名前を取得することです。 しかし、私はいつもMainThreadを取得します 私のコード:

<前>ウィズウィズ

エラーは発生しませんが、次の出力が表示されます。

<前>ウィズウィズ if __name__ == '__main__': Thread(target = displayNums()).start() Thread(target = stam()).start()
あなたの答え
  • 解決した方法 # 1

    これを変える:

    <前>ウィズウィズ

    これに:

    <前>ウィズウィズ

    スレッドターゲットは関数自体であり、関数からの戻り値ではありません。ウィズウィズ  関数を呼び出してその値を返しますが、 if __name__ == '__main__': Thread(target = displayNums()).start() Thread(target = stam()).start()  関数オブジェクト自体です。スレッドを作成するときは、戻り値ではなく、関数自体が必要です。

  • 解決した方法 # 2

    あなたのコードは実際にはスレッド外のスレッドターゲットを呼び出しています。コードを編集して:

    <前>ウィズウィズ if __name__ == '__main__': Thread(target = displayNums).start() Thread(target = stam).start()

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ linux - vesta cpanelにlaravelをインストールする方法