首页 > 编程语言 > 详细

5.1.13 线程对象的属性和方法

时间:2018-06-16 19:57:26      阅读:161      评论:0      收藏:0      [点我收藏+]

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 线程对象的属性和方法

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!