本篇文章给大家带来的内容是关于python线程下thread对象的用法介绍(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
thread对象
thread类用于表示单独的控制线程。
语法:t=thread(group=none,target=none,name=none,args=(),kwargs={})创建一个新的thread实例:tgroup:为以后扩张保留的,默认为nonetarget:一个可调用对象,线程启动时,run()方法将调用此对象name:线程名称,默认创建一个“thread-n”格式的唯一名称。args:传递给target函数的参数元祖kwargs:传递给target的关机字参数的字典。
常用属性于方法t.start():通过在一个单独的控制线程中调用run(),启动线程,此方法只能被调用一次。t.run():线程启动时将调用此方法。默认情况下,他会调用目标函数target。还可以在thread的子类中重新定义此方法。t.join([timeout]):阻塞线程,等待直到线程终止或者出现超时为止。timeout是以秒为单位的超时时间。线程启动之前不能调用此方法,否则会报错。t.is_alive:如果线程是活动的,返回true,否则返回false,从start()返回的那一刻开始,线程就是活动的,直到run()方法终止为止。t.name:线程名称,这个字符串用于唯一标识,可以根据需要将它更改为更有意义的值,t.ident:整数线程标识符,如果线程尚未启动,它的值为none。t.daemon:如果线程是后台线程,该值为true,否则未false。当不存在任何任何活动的非后台进程时,整个程序会退出。
实例1:利用thread对象,简单创建一个线程,并启动一个函数代码:#利用thread对象,简单创建一个线程,并启动一个函数from threading import threadimport timedef mark(interval): print(循环等待时间时间%d,等待前时间:%s%(interval,time.ctime())) time.sleep(interval) print(等待后的时间:%s%time.ctime())if __name__==__main__: t=thread(target=mark,args=(3,)) t.daemon=false#设置为非后台线程,不然会看不到自线程打印效果主线程就直接关闭了 #下面一句会报错,必须在start()方法之后调用 #t.join(3) t.start() #下面语句也会报错,因为start只能调用一次 #t.start() print(end)
结果:
实例2:通过继承thread,实现线程类代码:
#通过继承thread,实现线程类from threading import threadimport timeclass mythread(thread): def __init__(self,interval): #下面语句用来调用基类方法,必须调用 thread.__init__(self) self.daemon=false self.interval=interval def run(self): print(循环等待时间时间%d,等待前时间:%s % (self.interval, time.ctime())) time.sleep(self.interval) print(等待后的时间:%s % time.ctime())if __name__==__main__: t=mythread(3) t.start() #为了方便查看打印效果,加了一秒延迟 time.sleep(1) print(end)
结果:
相关推荐:
python多线程之thread的详细介绍
python开发之thread线程基础实例入门
以上就是python线程下thread对象的用法介绍(附实例)的详细内容。