検索

ホームページ  >  に質問  >  本文

Python多线程编程的输出格式问题?

今天在学习多线程编程,由于多个线程是同时启动的,所以输出也出现在了同一行,怎样才能换行输出呢?
输出结果是这样的:

*** MULTIPLE THREADS
startingstartingstarting   fibfacsum   at:at:at:   Tue Dec 08 22:30:43 2015Tue Dec 08 22:30:43 2015Tue Dec 08 22:30:43 2015


facsum  finished at:finished at:  Tue Dec 08 22:30:44 2015Tue Dec 08 22:30:44 2015

我想要的结果是这样的:

starting  fib    at: Sat Nov 22 09:51:39 2014

starting  fac    at:Sat Nov 22 09:51:39 2014

starting  sum   at:Sat Nov 22 09:51:39 2014

那我应该怎样做呢?

迷茫迷茫2823日前715

全員に返信(4)返信します

  • 大家讲道理

    大家讲道理2017-04-17 16:38:38

    まず最初に、ご回答いただきありがとうございます。ただし、Python 初心者の私にはこれらの方法がまだわかりません。
    私はこの問題を解決するために他の方法を使用しました。
    スレッド間の切り替えは、一方のスレッドが数文実行し、もう一方のスレッドが数文実行するという交互ループで、一方の文が途切れることはないと思っていました。
    最初の間違いは、出力ステートメントを次の形式で書いたことです:

    リーリー

    実際、Python の観点では、これはステートメントではなく、いくつかのステートメントの合計です。

    リーリー

    この場合、スレッドは互いの出力を中断することになるため、出力ステートメントを変更して次のように置き換えました。

    リーリー

    この場合、出力は正常になります。

    返事
    0
  • 阿神

    阿神2017-04-17 16:38:38

    出力ステートメントにロックを追加します。

    返事
    0
  • 迷茫

    迷茫2017-04-17 16:38:38

    ロギング

    返事
    0
  • 高洛峰

    高洛峰2017-04-17 16:38:38

    各スレッドは、出力する必要があるコンテンツを Queue() に置き、具体的には Queue() からデータを読み取って画面に出力するスレッドを開始します。

    返事
    0
  • キャンセル返事