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

5.1.13 线程对象的属性和方法

时间:2018-06-16 20:03:06      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:返回   启动   col   分享   结束   sed   import   from   none   

Thread实例对象的方法:

  getName(): 返回线程名

    setName(‘XXX‘): 设置线程名

      is_alive(): 线程是否存活

 

threading模块提供的一些方法:

     threading.current_thread() : 返回当前线程的变量

     threading. enumerate(): 返回一个包含正在运行的线程的list。不包括启动前和终止后的线程。

   threading.active_count(): 返回正在运行的线程数量。同len(threading. enumerate())

验证:

from threading import Thread
from threading import current_thread
from threading import active_count
from threading import enumerate
import time


def work():
    print(%s 线程在运行 % current_thread().getName())
    time.sleep(3)
    print(%s 线程结束 % current_thread().getName())


if __name__ == __main__:
    t1 = Thread(target=work)
    t1.start()
    t1.setName(子线程1)
    print(主线程中t1.getName:%s % t1.getName())
    print(主线程中的getName(): %s % current_thread().getName())
    print(主线程中t1.is_alive(), t1.is_alive())
    print(主线程中join前的active_count():, active_count())
    print(主线程中join前的enumerate():, enumerate())

    t1.join()
    print(已经join了....)
    print(主线程中t1.is_alive(), t1.is_alive())
    print(主线程中join后的active_count():, active_count())
    print(主线程中join后的enumerate():, enumerate())

运行结果:

技术分享图片
Thread-1 线程在运行
主线程中t1.getName:子线程1
主线程中的getName(): MainThread
主线程中t1.is_alive() True
主线程中join前的active_count(): 2
主线程中join前的enumerate(): [<_MainThread(MainThread, started 4321387392)>, <Thread(子线程1, started 123145394180096)>]
子线程1 线程结束
已经join了....
主线程中t1.is_alive() False
主线程中join后的active_count(): 1
主线程中join后的enumerate(): [<_MainThread(MainThread, started 4321387392)>]
View Code

 

5.1.13 线程对象的属性和方法

标签:返回   启动   col   分享   结束   sed   import   from   none   

原文地址:https://www.cnblogs.com/beallaliu/p/9191175.html

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