关闭。这个问题需要更加集中。它目前不接受答案。 更新问题,使其仅关注一个问题。这将帮助其他人回答这个问题。您可以编辑问题或发布新问题。
32 分钟前关闭。
(给你的私人反馈)
编辑:
大家好。
我正在尝试在多线程 python 脚本中执行以下操作:我有几个线程,每个线程都有一个类的实例。类具有 While True 循环,用于从外部传感器检索数据。检索到的数据被进一步处理,并存储在 SQLite 数据库中。我的目标是在我的代码中的特定点向线程外发送信号以触发线程外的函数。
实现这一目标的最有效方法是什么?
到目前为止,我正在做这样的事情:
class client(parameters):
def __init__(self,parameters):
self.flag = False
self.param_1 = parameters[0]
self.param_2 = parameters[1]
def run():
while True:
do_stuff()
def do_stuff():
# do something
if condition:
self.flag = False
if condition_2:
self.flag = True
# do some other stuff
def get_flag():
return self.flag
def run_client():
global client_1
client_1 = client(parameters)
client_1.run()
def execute_outside():
global client_1
while True:
flag = client_1.get_flag()
if flag == True:
# do something
t1 = threading.Thread(name='process 1', target=run_client)
t1 = threading.Thread(name='process 1', target=execute_outside)
t1.start()
t2.start()
基本上,我在全局变量中实例化类,并从一个线程调用 .run() 方法。在第二个线程中,我正在轮询类内局部变量标志的值。