今天在学习多线程编程,由于多个线程是同时启动的,所以输出也出现在了同一行,怎样才能换行输出呢?
输出结果是这样的:
*** 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
那我应该怎样做呢?
まず最初に、ご回答いただきありがとうございます。ただし、Python 初心者の私にはこれらの方法がまだわかりません。
リーリー私はこの問題を解決するために他の方法を使用しました。
スレッド間の切り替えは、一方のスレッドが数文実行し、もう一方のスレッドが数文実行するという交互ループで、一方の文が途切れることはないと思っていました。
最初の間違いは、出力ステートメントを次の形式で書いたことです:
実際、Python の観点では、これはステートメントではなく、いくつかのステートメントの合計です。
リーリーこの場合、スレッドは互いの出力を中断することになるため、出力ステートメントを変更して次のように置き換えました。
リーリーこの場合、出力は正常になります。
出力ステートメントにロックを追加します。
ロギング
各スレッドは、出力する必要があるコンテンツを Queue() に置き、具体的には Queue() からデータを読み取って画面に出力するスレッドを開始します。