當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python threading settrace()用法及代碼示例

Python threading.settrace() 方法

settrace()是 Python 中線程模塊的內置方法。它用於為線程模塊創建的所有線程設置跟蹤函數。該func函數傳遞給sys.settrace()對於每種方法。

模塊:

    import threading

用法:

    settrace(func)

參數:

  • func: 是必填參數,每個線程傳遞給sys.settrace()。該函數在 run() 方法之前執行。

返回值:

這個方法的返回類型是<class 'NoneType'>,它不返回任何東西。它為所有線程設置了一個跟蹤函數。

例:

# Python program to explain the use of 
# settrace()  method in Threading Module

import time
import threading

def trace_function():
    print("Passing the trace function and current thread is:", str(threading.current_thread().getName())) 

def thread_1(i):
    time.sleep(5)
    threading.settrace(trace_function())
    print("Value by Thread-1:",i)
    print()
    
def thread_2(i):
    threading.settrace(trace_function())
    print("Value by Thread-2:",i)
    print()
    
def thread_3(i):
    time.sleep(4)
    threading.settrace(trace_function())
    print("Value by Thread-3:",i)
    print()
    
def thread_4(i):
    time.sleep(1)
    threading.settrace(trace_function())
    print("Value by Thread-4:",i)
    print()

# Creating sample threads 
threading.settrace(trace_function())
thread1 = threading.Thread(target=thread_1, args=(1,))
thread2 = threading.Thread(target=thread_2, args=(2,))
thread3 = threading.Thread(target=thread_3, args=(3,))
thread4 = threading.Thread(target=thread_4, args=(4,))

# Starting the threads
thread1.start()
thread2.start()
thread3.start()
thread4.start()

輸出

Passing the trace function and current thread is:MainThread
Passing the trace function and current thread is:Thread-2
Value by Thread-2:2

Passing the trace function and current thread is:Thread-4
Value by Thread-4:4

Passing the trace function and current thread is:Thread-3
Value by Thread-3:3

Passing the trace function and current thread is:Thread-1
Value by Thread-1:1


相關用法


注:本文由純淨天空篩選整理自 Python threading Module | settrace() Method with Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。