Python threading setprofile() Method with Example

Python threading.setprofile() Method: In this tutorial, we will learn about the setprofile() method of threading module in Python with its usage, syntax, and examples. By Hritika Rajput Last updated : April 23, 2023

Python threading.setprofile() Method

The threading.setprofile() is an inbuilt method of the threading module, it is used to set a profile function for all the threads that are created by the threading module. The func function is passed to sys.profile() for each method.

Module

The following module is required to use setprofile() method:

import threading

Syntax

The following is the syntax of setprofile() method:

setprofile(func)

Parameter(s)

The following are the parameter(s):

  • func: It is a required parameter, which is passed to sys.setprofile() 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 profile function for all the threads.

Example of threading.setprofile() Method in Python

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

import time
import threading

def trace_profile(): 
    print("Current thread's profile")
    print("Name:", str(threading.current_thread().getName()))
    print("Thread id:", threading.get_ident())

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

# Creating sample threads 
threading.setprofile(trace_profile())
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

Current thread's profile
Name: MainThread
Thread id: 140461120771840
Current thread's profile
Name: Thread-2
Thread id: 140461086283520
Value by Thread-2: 2

Current thread's profile
Name: Thread-4
Thread id: 140461086283520
Value by Thread-4: 4

Current thread's profile
Name: Thread-3
Thread id: 140461077890816
Value by Thread-3: 3

Current thread's profile
Name: Thread-1
Thread id: 140461094676224
Value by Thread-1: 1



Comments and Discussions!

Load comments ↻





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