# import time
# import os
# from multiprocessing import Process
#
# def func1():
# time.sleep(3)
# print('我是func1')
#
# def func2():
# time.sleep(3)
# print('我是func2')
# print('子进程的pid', os.getpid())
# print('子进程的父进程', os.getppid())
#
# start_time = time.time()
# func1()
# func2()
# end_time = time.time()
# print('时间差>>>>', end_time-start_time)
#
# if __name__ == '__main__':
# print('主进程的pid', os.getpid())
# start_time1 = time.time()
# p = Process(target=func2) # 创建一个func2的新进程、与func1同时进行(那个进程先结束就先显示)
# p.start()
#
# func1()
# end_time1 = time.time() # 由于你的程序是上往下走的在发起func2这个进程是func1已经走完
# print('时间差>>>>', end_time1 - start_time1) # 因此这个时间差实际上只是主程序运行的时间并没有考虑func2的运行时间
# **************************************分割线***************************************
# print('分割线'.center(80, '*'))
#真正的func1、func2并发的时间:由于func1/func2是同事进行的,算两个进程中运行的最长时间就是func1、func2的时间
# 两个进程的真正时间差
# from multiprocessing import Process
# import time
#
# def func1():
# time.sleep(1)
# print('我是func1')
# time1 = time.time()
# print('我是时间1>>>', time1)
#
#
# def func2():
# time.sleep(3)
# print('我是func2')
# time2 = time.time()
# print('我是时间2>>>', time2)
#
#
# if __name__ == '__main__':
# print('我是主程序')
# p = Process(target=func2)
# p.start()
#
# func1()
# end_time = time.time()
# func1、func2真正的时间差是打印出来的时间1 - 打印出来的时间2
# **************************************分割线***************************************
# 子进程和主进程在空间上是相互独立的
# from multiprocessing import Process
#
# x = 100
#
# def func():
# global x
# x = 10
# print(id(x))
# print('子进程>>>', x)
#
# if __name__ == '__main__':
#
# p = Process(target=func)
# p.start()
# p.join()
# print(id(x))
# print('主进程>>>', x)
# # 结果:
# # 263469456
# # 子进程>>> 10
# # 263470896
# # 主进程>>> 100 # 内存地址是相互独立的 且值是相互独立的