我this post看到它很容易在同一行打印(覆蓋先前的內容)的方式如下:的Python:打印到單獨的bash線每個線程,在多線程應用程序
print "Downloading " + str(a) " file of " + str(total),
(注最後的逗號)。這將導致
>>> Downloading 1 file of 20
並且每次執行打印時,都會更新同一行。
這適用於單線程應用程序,但它不適用於多線程。
在python 2.7中如何將多個線程打印到自己的終端?
期望的結果會是這個樣子:
>>> Thread 1: Downloading 11 file of 20
>>> Thread 2: Downloading 4 file of 87
>>> Thread 3: Downloading 27 file of 32
>>> Thread 4: Downloading 9 file of 21
不應該避免在多線程應用程序中使用全局變量嗎? 感謝您的回答,儘管 – Vingtoft
好吧,如果很多線程在相同的全局變量上運行,競態條件可能會發生,並且需要額外的處理 - 例如使用鎖。但在這種簡單的情況下,每個線程都在自己的變量上運行,所以沒有什麼不好的事情會發生 –