簡體   English   中英

python多線程長線程運行

[英]python multithreading long thread running

我正在寫一個程序,可以並行搜索文本中的單詞。 我在運行線程時遇到“問題”,因為它在程序中花費的時間最長。 如果線程更多,則查找文本所需的時間更少,因為文本塊在線程之間划分。 但是我試圖衡量哪個部分花費的時間最多,而這是啟動線程的這一部分。 這是代碼:

startThreadsStart=time.time()
for i in range(0,threads_number):
    threads.append(ParallelStringSearch("something", i)) 
    threads[i].start()
startThreadsEnd = time.time()-startThreadsStart

以及Thread類中的run()方法:

 def run(self):
    self.time = time.time()
    self.search()
    self.end_time = time.time()-self.time
    print "EXECUTION: ",self.index,self.end_time

假設您使用CPython來並行化受CPU約束的任務,由於GIL ,python線程將無法為您提供幫助。 請嘗試子流程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM