day10-04_多线程常用属性方法

一、需要了解的方法

Thread实例对象的方法

# isAlive(): 判断这个线程是否是存活的
# getName(): 获取线程名
# setName(): 设置线程名
#enumerate(): 查看活跃进程对象
#activeCount(): 查看活跃的线程数

from threading import Thread,activeCount,enumerate,current_thread
import time
def task():
    print('%s is running' %current_thread().getName())
    time.sleep(2)

if __name__ == '__main__':
    t=Thread(target=task,)
    t.start()
    t.join()
    print(t.is_alive())#判断这个线程是否是存活的
    print(t.getName())#获取线程名
    print(enumerate())#查看活跃进程对象
    print('主')
    print(activeCount())#查看活跃的线程数

二、current_thread的用法(*****)

可以用current_thread方法去调用一些其它方法,测试的时候常用到
用来看看开启的线程名都有哪些

from threading import Thread, activeCount, enumerate, current_thread
from multiprocessing import Process
import time


def task():
    print('%s is running' % current_thread().getName())#可以用current_thread方法去调用一些其它方法,测试的时候常用到
    time.sleep(2)


if __name__ == '__main__':
    p = Process(target=task)
    p.start()
    print(current_thread())

三、基于current_thread来验证开一个进程里边默认就有一个主线程

强调:主线程从执行层面上代表了其所在进程的执行过程

from threading import Thread, activeCount, enumerate, current_thread
from multiprocessing import Process
import time


def task():
    print('%s is running' % current_thread().getName())
    time.sleep(2)


if __name__ == '__main__':
    t1 = Thread(target=task)
    t2 = Thread(target=task)
    t3 = Thread(target=task)
    t1.start()
    t2.start()
    t3.start()
    print(current_thread().getName())#在一个进程里边 ,主线程只有一个,其它都是子线程

  

  

 

原文地址:https://www.cnblogs.com/xiechao621/p/8157983.html