python 30 进程之间的相互独立、进程之间的时间差

摘要:
#Importtime#importos#来自多重保护importProcess##deffunc1():#time。sleep(3)#print('I'm func1')##deffunc2():#时间。sleep(3)#print('I'm func2')#print
# 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 # 内存地址是相互独立的 且值是相互独立的

免责声明:文章转载自《python 30 进程之间的相互独立、进程之间的时间差》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇make的link_directories命令不起作用Kubernetes的搭建与配置(二):部署 Wayne 用户界面下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

五. python数据转换

1. 数据转换    set  tuple   list  dict  int   float # list ----set a1=[1,2,3,4,5,6] a2=set(a1) print(a2) #{1, 2, 3, 4, 5, 6} # tuple----set a3=(1,2,3000,4,5,600000) a4=set(a3) pr...

python测试开发django(33)--xadmin注册表信息

前言 xadmin后台如果要对表的内容增删改查,跟之前的admin.py文件里面写注册表信息一样,需在admin.py同一级目录新建一个adminx.py的文件。 然后在admin.py文件控制页面上需显示的内容。 models模块 models模块跟之前设计表是一样的,在models.py文件设计表的字段显示,以Studentts表为例。 # codin...

解决python3.5无法导入cv2.so的问题

问题描述: 在python3.5环境中导入cv2报错,在python2.7中正常。注:命令行的前缀RL_2018HW是python3.5的环境。 (RL_2018HW) gordon@gordon-5577:$ python Python 3.5.2 (default, Nov 23 2017, 16:37:01) [GCC 5.4.0 20160609...

Django入门学习(一)

想弄一个OJ的平台,所以想学点前端的语言用来写网页 发现python可以用来写网页,所以就借此机会正好学习Python了 个人感觉python的语法确实相比于C和java这些,都要简介不少,对于新手感觉是入门要简单些 但是自我感觉python有时候也是不习惯,因为可能习惯了java的这些语法吧 下面就记录一些自己学习的Django过程吧 ---------...

比较全面的python类型转换

 前言提示: int(整形):a=1 str(字符串):a="asdsdf地方123" float(浮点):a="3.14150" bytes(字节包):a=b'xe2x82xac20' complex(复数):a=(34567+0j) list(列表):a=[1, 2, 3, '4', '五', 'liu'] set(集合):a={1,2,2,3,"4"...

python自动控制windows、Android的软件用来实现机器人流程自动化--RPA,外挂、自动化测试等方面的解决方案

机器人流程自动化--RPA,外挂、自动化测试等方面要求的用脚本自动化操作各平台的软件,说白了就是基于图像识别和控件识别,模拟人工输入和点击操作来实现的,从而到达代替手动操作,降低劳动强度。一、windows系统:   方案一、组合以下库和软件来达到目的:      1、pyautogui库:模拟按键...