Home »
Python »
Python Reference »
Python threading Module
Python threading settrace() Method with Example
Python threading.settrace() Method: In this tutorial, we will learn about the settrace() method of threading module in Python with its usage, syntax, and examples.
By Hritika Rajput Last updated : April 23, 2023
Python threading.settrace() Method
The threading.settrace() is an inbuilt method of the threading module, it is used to set a trace function for all the threads that are created by threading module. The func function is passed to sys.settrace() for each method.
Module
The following module is required to use settrace() method:
import threading
Syntax
The following is the syntax of settrace() method:
settrace(func)
Parameter(s)
The following are the parameter(s):
- func: It is a required parameter, which is passed to sys.settrace() for each thread. This function is executed before the run() method.
Return Value
The return type of this method is <class 'NoneType'>, it does not return anything. It sets a trace function for all the threads.
Example of threading.settrace() Method in Python
# 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()
Output
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