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


Python threading setprofile()用法及代码示例


Python threading.setprofile() 方法

setprofile()是 Python 中线程模块的内置方法。它用于为线程模块创建的所有线程设置配置文件函数。该func函数传递给sys.profile()对于每种方法。

模块:

    import threading

用法:

    setprofile(func)

参数:

  • func: 是必填参数,每个线程传递给sys.setprofile()。该函数在 run() 方法之前执行。

返回值:

这个方法的返回类型是<class 'NoneType'>,它不返回任何东西。它为所有线程设置了一个配置文件函数。

例:

# 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()

输出

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


相关用法


注:本文由纯净天空筛选整理自 Python threading Module | setprofile() Method with Example。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。