1. 程式人生 > >執行緒的一些操作

執行緒的一些操作


from threading import Thread
import threading
import time
from multiprocessing import Process
import os

def work():
    import time
    time.sleep(1)
    # print('子執行緒',threading.get_ident()) #2608
    print(threading.current_thread().getName()) #Thread-1
    print(threading.current_thread()) #Thread-1

if __name__ == '__main__':
    #在主程序下開啟執行緒
    t=Thread(target=work)
    t.start()

    # print(threading.current_thread())#主執行緒物件 #<_MainThread(MainThread, started 1376)>
    # print(threading.current_thread().getName()) #主執行緒名稱 #MainThread
    # print(threading.current_thread().ident) #主執行緒ID #1376
    # print(threading.get_ident()) #主執行緒ID #1376

    time.sleep(3)
    print(threading.enumerate())  # 連同主執行緒在內有兩個執行的執行緒,[<_MainThread(MainThread, started 13396)>, <Thread(Thread-1, started 572)>]
    print(threading.active_count()) # 2
    print('主執行緒/主程序')
from threading import Thread,Event

e = Event()  #e的狀態有兩種,False True,當事件物件的狀態為False的時候,wait的地方會阻塞

e.set()  #將事件物件的狀態改為True
e.clear() #將事件物件的狀態改為Flase
print('在這裡等待')
e.wait() #阻塞
print('還沒好!!')