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

Posted xiechao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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())#在一个进程里边 ,主线程只有一个,其它都是子线程

  

  

 

以上是关于day10-04_多线程常用属性方法的主要内容,如果未能解决你的问题,请参考以下文章

多线程更新UI的常用方法

day18-多线程&线程同步&死锁

day18-多线程&线程同步&死锁

day18-多线程&线程同步&死锁

day10-02_多线程之进程与线程的pid

多线程 Thread 线程同步 synchronized