python中多线程中Queue的使用

'''在这里插入代码片'''

#因为多线程里的函数是不能有返回值的,所以需要要把多线程中每个线程的计算结果放在一个队列当中,然后将每一个线程对应的队列结果在主线程中取出
import threading
import time
from queue import Queue


def job(l,q):
	for i in range(len(l)):
		l[i] = l[i]**2
	q.put(l)

def multithreading():
	q = Queue()
	threads = []
	data = [[1,2,3],[3,4,5],[4,4,4],[5,5,5]]
	for i in range(4):
		t = threading.Thread(target=job, args=(data[i],q))
		t.start()
		threads.append(t)
		
	for thread in threads:
		thread.join()
	results = []
	
	for _ in range(4):
		results.append(q.get())
	print(results)

if __name__=='__main__':
	multithreading()
	
	 

版权声明:本文为ai359005521原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。