#coding=utf-8
import threading #进口threading
from time import sleep
import time def task1():
print ("Task 1 executed." )
sleep(1) def task2():
print ("Task 2 executed." )
sleep(5) print("多线程:")
starttime=time.time(); #记录開始时间
threads = [] #创建一个线程列表,用于存放须要运行的子线程
t1 = threading.Thread(target=task1) #创建第一个子线程。子线程的任务是调用task1函数。注意函数名后不能有()
threads.append(t1)#将这个子线程加入到线程列表中
t2 = threading.Thread(target=task2)#创建第二个子线程
threads.append(t2)#将这个子线程加入到线程列表中 for t in threads: #遍历线程列表
t.setDaemon(True) #将线程声明为守护线程。必须在start() 方法调用之前设置。假设不设置为守护线程程序会被无限挂起
t.start() #启动子线程
endtime=time.time();#记录程序结束时间
totaltime=endtime-starttime;#计算程序运行耗时
print ("耗时:{0:.5f}秒" .format(totaltime)); #格式输出耗时
print('---------------------------') #下面为普通的单线程运行过程。不需解释
print("单线程:")
starttime=time.time();
task1();
task2();
endtime=time.time();
totaltime=endtime-starttime;
print ("耗时:{0:.5f}秒" .format(totaltime));

结果:

版权声明:本文博客原创文章,博客,未经同意,不得转载。

最新文章

  1. shell编程中的select用法
  2. python下载网页源码 写入文本
  3. JS清除IE浏览器缓存的方法
  4. java的客户端可以连接CPlus的服务端
  5. C++ Primer : : 第十四章 : 重载运算符与类型转换之类型转换运算符和重载匹配
  6. Linq表达式开窍
  7. [转载]有了 malloc/free 为什么还要 new/delete ?
  8. Matlab交集并集的实现
  9. simpletest:一个简单的PHP试工具
  10. (转载)Cocos2dx-OpenGL ES2.0教程:纹理贴图(6)
  11. 【BZOJ 1003】 [ZJOI2006]物流运输trans
  12. [io PWA] Great libraries and tools for great Progressive Web Apps
  13. 【HDU】病毒侵袭持续中(AC自己主动机+map)
  14. WPF中的三维空间(1)
  15. 微信小程序的开发环境搭建(Windows版本)
  16. Java 异常Exception e中e的getMessage()和toString()以及 e.printStackTrace();方法的区别
  17. CF | Alyona and Numbers
  18. 基于范围的for循环(C++11)
  19. c#操作excel方式三:使用Microsoft.Office.Interop.Excel.dll读取Excel文件
  20. 初始C语言中的数组(男神翁凯老师MOOC)

热门文章

  1. Ditto —— windows 剪贴板增强小工具(复制粘贴多条记录)
  2. sequence配置
  3. 手动打war包进行部署测试
  4. NDK 配置及简单项目
  5. 【Linux】Linux下配置apache - 安装文件夹具体解释
  6. Tokumx vs Mongodb
  7. [Django] Building the rest API
  8. 使用蒲公英来发布iOS内侧版本
  9. 【序列操作V】平衡树(无旋treap)
  10. 记排查octopress生成时的编码错误