首页 > 其他分享 >利用线程池加速

利用线程池加速

时间:2023-05-03 15:23:24浏览次数:23  
标签:__ multi start sum 利用 range 线程 time 加速

result存储的是线程的返回结果,因此可以用线程池获取返回。 最终时间比 single 3.388930559158325 multi 2.5222535133361816 import threading import time ind=3
def single():     for j in range(ind):         for i in range(5000):             w=2*i             print(w)     return '123' def s(w):     for i in range(5000):         w=2*i         print(w)     return '123' def multi():     threa=[]     for j in range(ind):         t=threading.Thread(target=s)
        threa.append(t)     for t in threa:         t.start()     for t in threa:         t.join() import concurrent.futures if __name__ == '__main__':     dan_sum=0     multi_sum=0     start=time.time()     single()     end=time.time()     sum=0     sum1=0     sum=end-start     start=time.time()     with concurrent.futures.ThreadPoolExecutor() as pool:         results=pool.map(s,[i for i in range(ind)])     end=time.time()     sum1=end-start     for i in results:         print(i)     print('single',sum,'multi',sum1,dan_sum,multi_sum)  

标签:__,multi,start,sum,利用,range,线程,time,加速
From: https://www.cnblogs.com/hahaah/p/17369093.html

相关文章

  • 线程池
     新建和终止线程这俩步分别需要分配和释放资源。线程池里的线程重复使用,直接接收任务队列,挨个取出任务并执行。如果任务队列为空线程池并不销毁线程。 u rls是参数列表,craw是函数名。result是返回结果。 ......
  • 线程池的原理
     新建和终止线程这俩步分别需要分配和释放资源。线程池里的线程重复使用,直接接收任务队列,挨个取出任务并执行。如果任务队列为空线程池并不销毁线程。 u rls是参数列表,craw是函数名。result是返回结果。 ......
  • 直播商城源码,利用Python将图片批量改成任意格式
    直播商城源码,利用Python将图片批量改成任意格式 importglobimportosimportthreadingfromPILimportImagedefcreate_image(infile,index):  os.path.splitext(infile)  im=Image.open(infile)  im.save("F:/PL/Cigarettes/total/good/"+str(index)+".j......
  • 只有含有i/o时多线程才会比单线程快
    importthreadingimporttimeind=3defsingle():  forjinrange(ind):    foriinrange(5000):      w=2*i      #print(w)defs():  foriinrange(5000):    w=2*i    #print(w)defmulti(): ......
  • 多线程解决数据安全问题
      只需要再引发安全问题的部分加lock就行。加锁的话其他进程不能访问的。 ......
  • 多线程在毕设中的应用
    已经对多线程并发有了一个基本的理解。现在要将多线程用于毕设中,多线程的作用是将循环用作并发处理,有一定的速度提速作用。目前需要了解毕设程序在哪方面需要进行多线程修改。python的multiprocessing库去利用多核的机器,threading运行时会释放GIL锁,可以让I/O并行。 ......
  • 多线程对全局变量修改和单线程对全局变量修改
    线程过多了,不会比单线程快多少。因为程序可能花时间在线程的转换上了。importthreadingimporttimeind=4dan_sum=0multi_sum=0defsingle():  forjinrange(ind):    foriinrange(5000):      print(i*2)      globaldan_s......
  • python编写多线程程序并测速
    importthreadingimporttimeind=2defsingle():  forjinrange(ind):    foriinrange(5000):      print(i*2)defs():  foriinrange(5000):    print(i*2)defmulti():  threa=[]  forjinrange(ind): ......
  • 关于线程安全的思考
    线程安全是什么?维基百科:线程安全是程序设计中的术语,指某个函数、函数库在多线程环境中被调用时,能够正确地处理多个线程之间的公用变量,使程序功能正确完成。《Java并发编程实战(JavaConcurrencyInPractice)》的作者BrianGoetz:当多个线程同时访问一个对象时,如果不用考虑这些......
  • 对多线程的一点理解
     电脑是8核的。 ......