标签:sans start mon 自己的 utf8 image init 获得 需要
前言:
上面讲了单线程,现在就将一下多线程,直接上代码:
1.创建threading.Thread的子类来包装一个线程对象
#encoding:utf8
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(%d),Time:%s\n‘%(self.thread_num,time.ctime())
time.sleep(self.interval)
def stop(self):
self.thread_stop = True
def test():
thread1 = timer(1,1)
thread2 = timer(2,2)
thread1.start()
thread2.start()
time.sleep(10)
thread1.stop()
thread2.stop()
return
if __name__ == ‘__main__‘:
test()
如图:
运行结果:
threading.Thread类的使用:
1).在自己的线程类的__init__里调用threading.Thread.__init__(self, name = threadname)
Threadname为线程的名字
2). run(),通常需要重写,编写代码实现做需要的功能。
3).getName(),获得线程对象名称
4).setName(),设置线程对象名称
5).start(),启动线程
6).jion([timeout]),等待另一线程结束后再运行。
7).setDaemon(bool),设置子线程是否随主线程一起结束,必须在start()之前调用。默认为False。
8).isDaemon(),判断线程是否随主线程一起结束。
9).isAlive(),检查线程是否在运行中。
此外threading模块本身也提供了很多方法和其他的类,可以帮助我们更好的使用和管理线程
明天给大家讲
简单的同步
标签:sans start mon 自己的 utf8 image init 获得 需要
原文地址:http://www.cnblogs.com/yianketang/p/7455806.html