多进程多线程的坑

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()

你可能感兴趣的:(python)