Python使用Threading模块创建线程
2024-10-05 14:32:31
使用Threading模块创建线程,直接从threading.Thread继承,然后重写__init__方法和run方法:
#!/usr/bin/python
# -*- coding: UTF-8 -*- import threading
import time exitFlag = 0 class myThread (threading.Thread): #继承父类threading.Thread
def __init__(self, threadID, name, counter):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
self.counter = counter
def run(self): #把要执行的代码写到run函数里面 线程在创建后会直接运行run函数
print "Starting " + self.name
print_time(self.name, self.counter, 5)
print "Exiting " + self.name def print_time(threadName, delay, counter):
while counter:
if exitFlag:
thread.exit()
time.sleep(delay)
print "%s: %s" % (threadName, time.ctime(time.time()))
counter -= 1 # 创建新线程
thread1 = myThread(1, "Thread-1", 1)
thread2 = myThread(2, "Thread-2", 2) # 开启线程
thread1.start()
thread2.start() print "Exiting Main Thread"
以上程序执行结果如下;
Starting Thread-1
Starting Thread-2
Exiting Main Thread
Thread-1: Thu Mar 21 09:10:03 2013
Thread-1: Thu Mar 21 09:10:04 2013
Thread-2: Thu Mar 21 09:10:04 2013
Thread-1: Thu Mar 21 09:10:05 2013
Thread-1: Thu Mar 21 09:10:06 2013
Thread-2: Thu Mar 21 09:10:06 2013
Thread-1: Thu Mar 21 09:10:07 2013
Exiting Thread-1
Thread-2: Thu Mar 21 09:10:08 2013
Thread-2: Thu Mar 21 09:10:10 2013
Thread-2: Thu Mar 21 09:10:12 2013
Exiting Thread-2
最新文章
- python 三元运算
- angular学习笔记(二十八-附1)-$resource中的资源的方法
- phpqrcode 生成二维码
- umeng 渠道统计 android
- HDU1281-棋盘游戏-二分图匹配
- Java并发编程概要
- 【android】uiselectoer 自动化测试
- Tornado 中的 get() 或 post() 方法
- 软件测试 -- Bug等级划分规范
- 高级PHP应用程序漏洞审核技术
- find+*的问题
- HTML5有语义的内联元素详解
- lucene Filter过滤器
- getReadableDatabase 和 getWritableDatabase的区别
- 201521123024《Java程序设计》第8周学习总结
- jmeter发起form-data格式
- EF|CodeFirst数据并发管理
- symfony框架
- 为什么访问json接口出现文件下载
- Asp.net core (学习笔记 路由和语言 route &; language)