线程外发信号

时间:2021-03-24 12:30:14

标签: python multithreading

关闭。这个问题需要更加集中。它目前不接受答案。 更新问题,使其仅关注一个问题。这将帮助其他人回答这个问题。您可以编辑问题或发布新问题。

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() 方法。在第二个线程中,我正在轮询类内局部变量标志的值。

0 个答案:

没有答案
相关问题