說你有4個數字,你需要在Python中使用多線程1打印所有數字的乘法表100。我想出了這個代碼是Python的多線程單獨互斥的任務
from threading import Thread
def multable(r, number):
for i in range(1,101):
mul = number*i
print "\n%d x %d = %d" %(number, i, mul)
def Main():
t1 = Thread(target = multable, args = (1, 2))
t2 = Thread(target = multable, args = (1, 3))
t3 = Thread(target = multable, args = (1, 4))
t4 = Thread(target = multable, args = (1, 4))
t1.start()
t2.start()
t3.start()
t4.start()
if __name__ == '__main__':
Main()
部分輸出 -
4 x 60 = 240
4 x 61 = 244
4 x 62 = 248
3 x 48 = 144
2 x 78 = 156
4 x 63 = 252
3 x 49 = 147
3 x 50 = 150
2 x 79 = 158
3 x 51 = 153
4 x 64 = 256
我有關的問題這是 -
- 爲什麼會出現不均勻的間距,我想應該只有一個兩個輸出之間的線隙,通過在打印語句
\n
? - 爲什麼我不能只是通過只有一個變量作爲參數的線程,我這樣做收到錯誤問我給一個迭代的,所以我給了一個無用的價值?
- 在一個四核CPU,我怎麼可以編輯該程序利用所有四個CPU,每一個號碼/線程。無視輸出的順序?