gpt4 book ai didi

python - 在python中运行后台线程

转载 作者:行者123 更新时间:2023-12-02 00:56:19 24 4
gpt4 key购买 nike

我能够得到的所有示例都没有真正解决我的问题,即在后台不断循环某个过程,而程序的其余部分继续运行。

这是一个使用_thread 的有效方法的简单示例:

import _thread
import time


def countSeconds():
time.sleep(1)
print("Second")
_thread.start_new(countSeconds, ())

def countTenSeconds():
time.sleep(10)
print("Ten seconds passed")
_thread.start_new(countTenSeconds, ())


_thread.start_new(countSeconds, ())
_thread.start_new(countTenSeconds, ())

忽略一个明显的事实,即我们可以跟踪秒数,如果它是 10 的倍数,就打印一些不同的东西,我将如何更有效地创建它。

在我的实际程序中,线程似乎很耗费 RAM,我假设创建线程的多个实例。我是否必须在每个过程结束时“start_new”线程?

感谢您的帮助。

最佳答案

All the examples I've been able to get to don't really address my problem Which examples?

这对我有用。

import threading

def f():
import time
time.sleep(1)
print "Function out!"

t1 = threading.Thread(target=f)

print "Starting thread"
t1.start()
time.sleep(0.1)
print "Something done"
t1.join()
print "Thread Done"

你要求重复线程,我不明白你到底需要什么,这可能有效:

import threading
var = False
def f():
import time
counter = 0
while var:
time.sleep(0.1)
print "Function {} run!".format(counter)
counter+=1

t1 = threading.Thread(target=f)

print "Starting thread"
var = True
t1.start()
time.sleep(3)
print "Something done"
var = False
t1.join()
print "Thread Done"

关于python - 在python中运行后台线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34749331/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com