当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。