码迷,mamicode.com
首页 > 编程语言 > 详细

python多线程(实践)

时间:2017-08-30 23:41:47      阅读:247      评论:0      收藏:0      [点我收藏+]

标签: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模块本身也提供了很多方法和其他的类,可以帮助我们更好的使用和管理线程

明天给大家讲

简单的同步

 

 

python多线程(实践)

标签:sans   start   mon   自己的   utf8   image   init   获得   需要   

原文地址:http://www.cnblogs.com/yianketang/p/7455806.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!