from multiprocessing import Process import threading import time class Job: def __init__(self): self.a = 'a' def run(self): self.b = 'b' while True: print(self.__dict__) print(id(self)) time.sleep(2) def fun(self): print(self.b) def main(): job = Job() p = Process(target=job.run) # p = threading.Thread(target=job.run) p.daemon = True p.start() while True: raw = input() if raw.strip() == 'b': print(job.b) # 多进程多线程结果不同,有惊喜呦~ # job.fun() else: print('main job: {}'.format(job.__dict__)) print('main id: {}'.format(id(job))) # time.sleep(10) # print(job.b) if __name__ == '__main__': main()
多进程多线程的坑
最新推荐文章于 2022-11-23 11:36:16 发布
本文通过一个具体的Python示例介绍了如何使用多进程和多线程来执行任务,并对比了两者在共享数据方面的差异。示例中定义了一个Job类,包含运行循环和打印实例属性的方法,在主函数中创建了进程或线程来调用这些方法。
1410

被折叠的 条评论
为什么被折叠?



