threading示例
多线程举例:
import time
import threading
def worker():
print ("hello.Kamil")
time.sleep(1)#等待一秒
return
time_start=time.time()
if __name__ == "__main__":
for i in range(5):
worker()#(执行五次)
time_end = time.time()
print(time_end-time_start)
for n in range(5):
t = threading.Thread(target=worker)
t.start()
time_end2 = time.time()
执行结果:
kamil@ubuntu-kamil:~/PycharmProjects/ftp0310/0310shangke/try$ python3. d.py
hello.Kamil
hello.Kamil
hello.Kamil
hello.Kamil
hello.Kamil
5.006033897399902
hello.Kamil
hello.Kamil
hello.Kamil
hello.Kamil
hello.Kamil
0.0030531883239746094
kamil@ubuntu-kamil:~/PycharmProjects/ftp0310/0310shangke/try$
第二次虽然也是循环5次,但是启用多线程来完成的,所以速度提升非常明显;
示例2:
import threading
import time
class timer(threading.Thread):
def __init__(self, num, interval):
threading.Thread.__init__(self)
self.thread_num = num
self.interval = interval
self.thread_stop = False
def run(self):
while not self.thread_stop:
print ('Thread Object(%s), Time:%s\n' %(self.thread_num, time.ctime()) )
time.sleep(self.interval)
def stop(self):
self.thread_stop = True
def test():
thread1 = timer('thread1',2)
thread2 = timer('thread2',3)
thread1.start()
thread2.start()
time.sleep(7)
thread1.stop()
thread2.stop()
return if __name__ == '__main__':
test()
同时启动两个线程,thread1 与 thread2 ,其中1 是间隔2s 执行打印一次,2是间隔3s执行打印一次;在运行开始后,会在第六秒再次同时运行;结果如下:
kamil@ubuntu-kamil:~/PycharmProjects/ftp0310/0310shangke/try$ python3.4 c.py
Thread Object(thread1), Time:Thu Mar 17 09:27:26 2016 1 26 Thread Object(thread2), Time:Thu Mar 17 09:27:26 2016 2 26 Thread Object(thread1), Time:Thu Mar 17 09:27:28 2016 1 28 Thread Object(thread2), Time:Thu Mar 17 09:27:29 2016 2 29 Thread Object(thread1), Time:Thu Mar 17 09:27:30 2016 1 30 Thread Object(thread2), Time:Thu Mar 17 09:27:32 2016 2 32 Thread Object(thread1), Time:Thu Mar 17 09:27:32 2016 1 32 kamil@ubuntu-kamil:~/PycharmProjects/ftp0310/0310shangke/try$
threading.activeCount()的使用
threading示例的更多相关文章
- 多线程(threading)示例
一.多线程简单示例 import threading,time print('第一线程(默认):程序开始啦!') def takeANap(): time.sleep(5) print('第二线程:5 ...
- Roslyn入门(二)-C#语义
先决条件 Visual Studio 2017 .NET Compiler Platform SDK Rosyln入门(一)-C#语法分析 简介 今天,Visual Basic和C#编译器是黑盒子:输 ...
- python threading queue模块中join setDaemon及task_done的使用方法及示例
threading: t.setDaemon(True) 将线程设置成守护线程,主进行结束后,此线程也会被强制结束.如果线程没有设置此值,则主线程执行完毕后还会等待此线程执行. t. ...
- python多线程threading下载示例
#coding:utf-8 # windows中测试不通过,下载的图片不完整 # 通过多线程下载图片 import requests import threading class downloader ...
- 一个简单 System.Threading.Tasks.Dataflow.TransformBlock 示例
直接贴代码了: using System; using System.Collections.Generic; using System.IO; using System.Threading.Task ...
- 一个简单 System.Threading.Tasks.Dataflow.BufferBlock 示例
直接贴代码了: using System; using System.Threading.Tasks; using System.Threading.Tasks.Dataflow; namespace ...
- WCF学习之旅—第三个示例之四(三十)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
- WCF学习之旅—第三个示例之一(二十七)
一.前言 通过前面二十几个章节的学习,我们知道了什么是WCF:WCF中的A.B.C:WCF的传输模式:WCF的寄宿方式:WCF的异常处理.本文综合应用以上知识点,一步一步写一个小的WCF应用程序——书 ...
- 基于DotNetOpenAuth的OAuth实现示例代码: 获取access token
1. 场景 根据OAuth 2.0规范,该场景发生于下面的流程图中的(D)(E)节点,根据已经得到的authorization code获取access token. 2. 实现环境 DotNetOp ...
随机推荐
- 各种AJAX方法的使用比较
转:http://www.cnblogs.com/fish-li/archive/2013/01/13/2858599.html#_label6 AJAX技术经过这么多年的发展,出现了一些框架或类库用 ...
- HTML 学习笔记 CSS(选择器2)
CSS 类选择器 类选择器允许以一种独立于文档元素的方式来指定样式 CSS 类选择器 类选择器允许以一种独立于文档元素的方式来指定样式 该选择器可以单独使用 也可以和其他元素结合使用 提示 只要适当的 ...
- shipyard安装
1.Start an data volume instance of RethinkDB: # docker run -it -d --name shipyard-rethinkdb-data \ - ...
- 使用NIFTI指令画nii图像
❤ 关于几种显示工具 mricro:显示出来的左右脑是反着的: mricroN,SPM,xjview,BrainNetViewer:显示出的左右脑是正确的,并且对于做过仿射变换的图像可以自动识别并且校 ...
- SPM FDR校正
来源: http://blog.sciencenet.cn/blog-479412-572049.html,http://52brain.com/thread-15512-1-1.html SPM8允 ...
- DEDECMS之七 如何实现文章推荐排行榜
经常可以看到各种排行榜,这些文章列表的标题之前加了序号,前三条还有显眼样式 1.实现效果 2.实现方法 <ul class="hotPh1"> {dede:arclis ...
- Prism中使用MEF的例子
一个基本的例子,没有viewmodel,没有使用Behaviors 大体步骤: 1.创建应用程序 2.使用"Shell"替换"MainWindow"(silve ...
- [MetaHook] Event Hook
#include <metahook.h> struct event_hook_t { event_hook_t *next; char *name; void (*pfnEvent)(e ...
- swifttextfield代理方法
//MARK:textfield delegate //键盘的高度 func textFieldShouldBeginEditing(textField: UITextField) -> Boo ...
- Safari 下用 "location.href = filePath" 实现下载功能的诡异 bug
Safari 下的一些诡异 bug 我们已经领教一二,比如前文中说的 无痕浏览模式下使用 localStorage 的 API 就会报错.今天我们要讲的是利用 location.href = file ...