1. 程式人生 > >day10-04_多線程常用屬性方法

day10-04_多線程常用屬性方法

mar fcc 需要 col ack tro enumerate start join

一、需要了解的方法

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_多線程常用屬性方法