muti_thread是一个真正的多并发多线程,python3.6
pip install muti-thread
# -*- coding: utf-8 -*- import time from muti_thread.muti_thread import thread_create,thread_append,thread_start_and_join import numpy as np vec1 = [1,2,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] vec2 = [5,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] def my_compute(n=10000): for i in range(n): dist1 = np.dot(vec1, vec2) / (np.linalg.norm(vec1) * np.linalg.norm(vec2)) class thread_param: def __init__(self,index): self.counter = 0 self.index = index #必须有且只有一个参数,最好是某个类的实例 #注意 , 线程函数里最好不要有import的东西 ,里面最好是执行函数 def thread_func(param): param.counter += 1 #测试1万次 my_compute() # if param.counter> 10000: # print(param.index ,'end') # return -1 return -1 #// 返回值小于0 退出线程 , 0 继续循环执行线程函数 def main(): start = float(round(time.time() * 1000)) resource = thread_create() #并发线程 for i in range(4): param = thread_param(i) thread_append(resource, thread_func, param) #开始并等待线程结束 thread_start_and_join(resource) end = float(round(time.time() * 1000)) print('run time {}'.format (end-start)) if __name__ == '__main__': main()
微信
支付宝