gpt4 book ai didi

python - 是否可以向方法发送中断/停止信号?

转载 作者:太空宇宙 更新时间:2023-11-03 15:23:34 24 4
gpt4 key购买 nike

我目前正在用 python 编写一些服务器代码,我有一个方法可以开始无限循环来服务请求,即:

class s:
def serve(self):
while True:
# do stuff

当我调用这段代码时,我会执行以下操作:

a = s()
a.serve()

我的问题是——有没有办法向“服务”发送消息以从方法外部中断循环。我不想简单地终止该程序。非常感谢您的帮助。

我想到的一个选择是:

while True:
// do something

可以做:

 while self.serving: # and then update self.serving as appropriate

但可能有更好的解决方案。

最佳答案

是的,这是可能的:

class Server:

def __init__():
self.alive = True

def serve(self):
while self.alive:
# do stuff

def die():
self.alive = False

现在只需在运行 serve(..) 的线程外部调用 die() 即可。

srv = Server()
thread = Thread(target=srv.serve)
thread.start()
time.sleep(some_time) # or do something else.
srv.die() # or do this from some outside process.

关于python - 是否可以向方法发送中断/停止信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43313364/

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