簡體   English   中英

在 Python 的線程中同時多次運行 1 個子例程

[英]Run 1 subroutine multiple times simultaneously in threads in Python

我有一個子程序,我想一遍又一遍地運行,但是在線程中,它每秒運行更多次。 我曾嘗試使用線程並使用 while 循環一次又一次地運行線程,但您不能多次運行一個線程。

這是我嘗試創建線程realCode作為我的子程序的地方

checkerThread1 = Thread(name='T1', target=realCode, args=())
checkerThread2 = Thread(name='T2', target=realCode, args=())
checkerThread3 = Thread(name='T3', target=realCode, args=())
checkerThread4 = Thread(name='T4', target=realCode, args=())

while True:
    checkerThread1.start()
    checkerThread2.start()
    checkerThread3.start()
    checkerThread4.start()

我意識到這行不通,任何替代方案將不勝感激。

您可以使用重復調用它的目標,而不是直接使用realCode作為線程目標:

def repeat(function, *args):
    while True:
        function(*args)

for _ in range(4):
    Thread(target=repeat, args=[realCode]).start()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM