問題:在多執行緒操作過程中,執行緒1中的有死迴圈,在執行的過程中,執行緒2一直不執行。
import threading
import time
class test():
def print_111(self):
while 1:
print('111')
time.sleep(1)
def print_222(self):
while 1:
print('222')
time.sleep(1)
if __name__=='__main__':
t = test()
threading.thread(target=t.print_111()).start()
threading.thread(target=t.print_222()).start()
111
111
111
111
111
111
111
解決方案:
把傳遞的函式後面的()去掉,在執行過程的時候,執行緒2就可以正常執行,加上()之後執行緒1執行結束之後才開始執行執行緒2(多執行緒的效果沒有體現出來)。
import threading
import time
class test():
def print_111(self):
while 1:
print('1111')
time.sleep(1)
def print_222(self):
while 1:
print('222')
time.sleep(1)
if __name__=='__main__':
t = test()
threading.thread(target=t.print_111).start()
threading.thread(target=t.print_222).start()
1111
222
1111
222
222
1111
222
1111
222
1111
222
1111
C 多執行緒操作
在.net和c 中編寫乙個多執行緒應用程式將非常得容易。即使對於那些從沒有用c 編寫過多執行緒應用程式的初學者,只需遵循以下這些簡單的步驟就可以實現目的。定義命名空間 在.net中,多執行緒功能是在system.threading命名空間中定義的。因此,在使用任何執行緒類之前,必須定義 system...
多執行緒操作磁碟
最近要寫乙個多執行緒的應用,需要從幾十塊磁碟中讀取資料,每次只將5塊盤中的資料進行加工整合,而且磁碟的讀取都是隨機的,不是順序的。加工後需要將結果寫入乙個大的儲存中,n個t。原來我寫的是單執行緒的,速度好慢1分鐘只能處理3g左右或者不到。業務做起來相當的費時費力,leader叫我改多執行緒,一時間沒...
多執行緒併發操作
閒來無事,就搞了搞多執行緒的東西,今天就將要寫的部分東西貼到下面,僅供菜鳥學習。不多說了,直接貼 檢視 public class threadpool util extends threadgroup 向工作佇列中加入乙個新任務,由工作執行緒去執行該任務 public synchronized vo...