如何在一个线程中修改变量并在另一个线程中检查变量?

阿比舍克·库马尔(Abhishek kumar)

下面是演示该问题的代码。请注意,这仅是一个示例,我在更复杂的应用程序中使用了相同的逻辑,在这里我无法使用sleep作为时间量,process1修改变量需要花费时间,具体取决于速度互联网连接。

from multiprocessing import Process

code = False

def func():
    global code
    code = True

pro = Process(target=func)
pro.start()

while code == False:
    pass

pro.terminate()
pro.join()

print('Done!')

运行时,屏幕上不显示任何内容。当我通过按CTRL-C终止程序时,堆栈跟踪显示正在执行while循环。

乌迪

Python有几个并发库:threadingmultiprocessingasyncio(及以上)。

multiprocessing是一个使用子进程绕过python无法同时运行CPU密集型任务的库。要在不同的multiprocessing.ProcessES之间共享变量,请通过multiprocessing.Manager()实例创建它们例如:

import multiprocessing

import time


def func(event):
    print("> func()")
    time.sleep(1)
    print("setting event")
    event.set()
    time.sleep(1)
    print("< func()")


def main():
    print("In main()")

    manager = multiprocessing.Manager()
    event = manager.Event()
    p = multiprocessing.Process(target=func, args=(event,))
    p.start()

    while not event.is_set():
        print("waiting...")
        time.sleep(0.2)

    print("OK! joining func()...")
    p.join()

    print('Done!')


if __name__ == "__main__":
    main()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在一个线程中修改成员变量并在另一个线程中读取

来自分类Dev

在另一个线程中设置变量

来自分类Dev

如何从C#中的另一个线程在主线程中设置变量?

来自分类Dev

如何从C#中的另一个线程在主线程中设置变量?

来自分类Dev

如何使用共享内存在一个线程中修改值并在另一个线程中读取值?

来自分类Dev

如何在Swift中对照另一个变量检查变量的类型

来自分类Dev

通过另一个线程读取变量-变量不会改变

来自分类Dev

Android:要求从一个线程访问的变量必须立即在另一个线程中可用

来自分类Dev

Python在另一个变量中检查变量

来自分类Dev

如何在主线程中调用一个方法并终止另一个线程?

来自分类Dev

如何在另一个JavaScript中访问一个JavaScript中的变量?

来自分类Dev

如何在一个类中的另一个函数中更新变量?

来自分类Dev

如何阻止一个线程修改另一个线程正在使用的数组?

来自分类Dev

从另一个线程访问一个线程上的变量-Android

来自分类Dev

成员变量不会在另一个线程中更改吗?

来自分类Dev

另一个线程中的变量集未获取/保留值

来自分类Dev

Python多线程使用另一个线程中的一个线程的数据

来自分类Dev

管理异步通信:如何检查在另一个线程中收到的响应

来自分类Dev

管理异步通信:如何检查在另一个线程中收到的响应

来自分类Dev

如何在一个文件中调用一个声明的变量到另一个文件?

来自分类Dev

检查主线程是否仍在另一个线程中

来自分类Dev

如何在python中的同一对象中的另一个线程内生成线程?

来自分类Dev

如何从python中的另一个变量中减去一个变量

来自分类Dev

如何在EEx中的<%= render ...%>中使用另一个变量中的变量

来自分类Dev

如果我在一个线程中侦听 websocket 并在另一个线程中运行一个函数,是否可能会错过消息

来自分类Dev

如何确保一个线程在另一个CORE中执行?

来自分类Dev

如何制作一个变量以显示R中另一个变量的差异?

来自分类Dev

如何在另一个线程中初始化沉重的控件?

来自分类Dev

我如何在另一个线程Qt中显示MessageBox

Related 相关文章

  1. 1

    在一个线程中修改成员变量并在另一个线程中读取

  2. 2

    在另一个线程中设置变量

  3. 3

    如何从C#中的另一个线程在主线程中设置变量?

  4. 4

    如何从C#中的另一个线程在主线程中设置变量?

  5. 5

    如何使用共享内存在一个线程中修改值并在另一个线程中读取值?

  6. 6

    如何在Swift中对照另一个变量检查变量的类型

  7. 7

    通过另一个线程读取变量-变量不会改变

  8. 8

    Android:要求从一个线程访问的变量必须立即在另一个线程中可用

  9. 9

    Python在另一个变量中检查变量

  10. 10

    如何在主线程中调用一个方法并终止另一个线程?

  11. 11

    如何在另一个JavaScript中访问一个JavaScript中的变量?

  12. 12

    如何在一个类中的另一个函数中更新变量?

  13. 13

    如何阻止一个线程修改另一个线程正在使用的数组?

  14. 14

    从另一个线程访问一个线程上的变量-Android

  15. 15

    成员变量不会在另一个线程中更改吗?

  16. 16

    另一个线程中的变量集未获取/保留值

  17. 17

    Python多线程使用另一个线程中的一个线程的数据

  18. 18

    管理异步通信:如何检查在另一个线程中收到的响应

  19. 19

    管理异步通信:如何检查在另一个线程中收到的响应

  20. 20

    如何在一个文件中调用一个声明的变量到另一个文件?

  21. 21

    检查主线程是否仍在另一个线程中

  22. 22

    如何在python中的同一对象中的另一个线程内生成线程?

  23. 23

    如何从python中的另一个变量中减去一个变量

  24. 24

    如何在EEx中的<%= render ...%>中使用另一个变量中的变量

  25. 25

    如果我在一个线程中侦听 websocket 并在另一个线程中运行一个函数,是否可能会错过消息

  26. 26

    如何确保一个线程在另一个CORE中执行?

  27. 27

    如何制作一个变量以显示R中另一个变量的差异?

  28. 28

    如何在另一个线程中初始化沉重的控件?

  29. 29

    我如何在另一个线程Qt中显示MessageBox

热门标签

归档