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



Comments and Discussions!

Load comments ↻





Copyright © 2024 www.includehelp.com. All rights reserved.