首页 > 其他分享 >只有含有i/o时多线程才会比单线程快

只有含有i/o时多线程才会比单线程快

时间:2023-05-03 13:55:24浏览次数:31  
标签:__ multi end 单线程 含有 start time 多线程 sum

import threading import time ind=3
def single():     for j in range(ind):         for i in range(5000):             w=2*i             #print(w)
def s():     for i in range(5000):         w=2*i         #print(w) 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() 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()     multi()     end=time.time()     sum1=end-start     print('single',sum,'multi',sum1,dan_sum,multi_sum) 这个慢了10倍。如果加上在线程中加上print多线程就会快一些。

标签:__,multi,end,单线程,含有,start,time,多线程,sum
From: https://www.cnblogs.com/hahaah/p/17368988.html

相关文章

  • 多线程解决数据安全问题
      只需要再引发安全问题的部分加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): ......
  • 对多线程的一点理解
     电脑是8核的。 ......
  • 从CPU的视角看 多线程代码为什么那么难写!
      当我们提到多线程、并发的时候,我们就会回想起各种诡异的bug,比如各种线程安全问题甚至是应用崩溃,而且这些诡异的bug还很难复现。我们不禁发出了灵魂拷问“为什么代码测试环境运行好好的,一上线就不行了?”。为了解决线程安全的问题,我们的先辈们在编程语言中引入了各种各样新名......
  • Android开发多线程断点续传下载器
    111Android开发多线程断点续传下载器分类: Android 2011-10-0123:14931人阅读 评论(8) 收藏 举报使用多线程断点续传下载器在下载的时候多个线程并发可以占用服务器端更多资源,从而加快下载速度,在下载过程中记录每个线程已拷贝数据的数......
  • 实验2 多线程
    创建一个线程#include<stdio.h>#include<unistd.h>#include<pthread.h>#include<sys/types.h>void*threadFunc(void*arg){printf("InNEWthreaad\n");}intmain(){ pthread_ttid;//createthreadfunctionpthread_create(......
  • Java多线程之---用 CountDownLatch 说明 AQS 的实现原理
    本文基于jdk1.8。CountDownLatch的使用前面的文章中说到了volatile以及用volatile来实现自旋锁,例如java.util.concurrent.atomic包下的工具类。但是volatile的使用场景毕竟有限,很多的情况下并不是适用,这个时候就需要synchronized或者各种锁实现了。今天就来说一下几......
  • C# 多线程
    首先要关注电脑配置是否是多核多CPU的。因为一个CPU在同一时刻只能运行一个线程,但是多个CPU在同一时刻就可以运行多个线程。 多线程的优点:1、可以同时完成多个任务;2、可以使程序的响应速度更快;3、可以让占用大量处理时间的任务或当前没有进行处理的任务定期将处理时间让给......