解决python同时执行多个程序的方案
这个方案其实在提出问题的第二天就解决了,由于忘记了,所以就没有做记录。
需求:使用python实现一边输出程序运行时间计时,一边向指定文件中写入数据
解决方案:由于涉及到i/o密集型问题,所以采用多线程实现。源代码如下:
import time import threadingdef count_time():start_time = int(time.time())while True:end_time = int(time.time())print(end_time - start_time)time.sleep(1)def run_data():file = open('./a.txt','a+',encoding='utf-8')for i in range(1,1000000000):if i % 100 == 0:file.write('\n')else:file.write(str(i))def main_function():t1 = threading.Thread(target=count_time)t2 = threading.Thread(target=run_data)t1.start()t2.start()t1.join()t2.join() if __name__ == '__main__':main_function()
不足:类似于这样做测试的一些小的解决方案,其实也是需要一个完备的错误捕获机制和安全预处理机制的。在这里没有去写,整体的代码构缺乏这些必要的处理。代码中其实还缺乏一些别的处理,如控制程序暂停。上次向同事取了一下经,经同事介绍,直接控制线程暂停,其实不是一个好的解决方案,一般类似于这样的解决方案,都会添加任务管理的,也就是像我们的主控制程序一样。让任务暂停,然后再启动会更合理一些。
当前见过有同事的暂停/恢复功能,也是使用这样的方式来实现,恢复之后从日志记录中去找已经执行过的操作,然后再接着从那里开始就可以实现继续了。
注意:在使用多线程和多进程的时候需要注意的一个点是,target=里边对应的函数,一定不要忘记去掉括号,加上括号是有问题的。
解决python同时执行多个程序的方案相关推荐
- 使用 python socket 执行远程服务器程序
参考:https://www.runoob.com/python/python-socket.html Socket又称"套接字",应用程序通常通过"套接字"向 ...
- python多个for的执行顺序-python顺序执行多个py文件
假如我要执行code目录下的python程序,假设该目录下有1.py,2.py,3.py,4.py四个文件,但是我想执行1.py,2.py,4.py,则可在该目录下创建一个python文件,代码如下: ...
- 多线程解决rospy.spin()语句之后,程序不再往下执行问题
ROS使用C++,有两种函数来处理回调问题,ros::spin()和ros::spinOnce().两者区别在于前者调用后不会再返回,也就是你的主程序到这儿就不往下执行了,而后者在调用后还可以继续执行 ...
- python运行非常慢的解决-python执行太慢
广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 假如 load 完成还没计算,这时候线程切换了,其他线程修改了 a 的值,然后切换 ...
- python遇到错误跳过_python except异常处理之后不退出,解决异常继续执行的实现
写了个等待分析结果,解析分析结果json的脚本 那个文件生成时候有点大,有时候监测到新文件就去解析可能文件只生成了一半,就会抛出异常退出当前线程,此次的分析结果就丢失了,如果load json文件失败 ...
- python 不执行函数_解决python调用自己文件函数/执行函数找不到包问题
写python程序的时候很多人习惯创建一个utils.py文件,存放一些经常使用的函数,方便其他文件调用,同时也更好的管理一些通用函数,方便今后使用.或是两个文件之间的class或是函数调用情况. 就 ...
- python执行到input后执行下一程序_Python基础知识储备,如何开关一个while循环
一.什么是循环 循环语句就是在某种条件下,一遍一遍重复的执行某个动作. 如:从1加到100,重复执行加法的动作,就需要用到循环. 二.循环的三要素 虽然循环是反复的执行某个动作,但是循环也会停止的,没 ...
- python的except之后还运行吗_python except异常处理之后不退出,如何解决异常继续执行...
python except异常处理之后不退出,如何解决异常继续执行 发布时间:2020-07-30 14:46:03 来源:亿速云 阅读:82 作者:小猪 这篇文章主要为大家展示了python exc ...
- python怎么编写重复程序,python重复执行怎么写
python如何用for循环控制多次执行一个自定义函数? 首先我定义一个取随机数的函数: import random def R(): print random #脚本里面直接这样写就好了import ...
最新文章
- Centos7下安装MongoDB
- 客户管理系统企业客户管理crm客户管理
- 看服务器是不是虚拟机
- 排序算法 | 快速排序,算法的图解、实现、复杂度和稳定性分析与优化
- 干掉 Postman?测试接口直接生成 API 文档,这工具真香!
- CADENCE ORCAD原理图导出FPGA UCF的方法
- nginx 指向一个文件夹_弄懂nginx的语法就是这么简单
- 微服务 注册中心_4.微服务架构的第二个组件:注册中心
- xml之dom4j解析
- Linux如何清除系统密码,如何消除LINUX系统密码
- 如何想要在开机启动登陆时,用户名也不输入
- 各种说明方法的答题格式_各种轴承安装方法说明及注意事项,避免这些坑提高轴承寿命...
- 51单片机原理与设计方案(包含原理图与PCB)
- Java | 绘图:Graphics2D
- PMBOK(第六版) 学习笔记 ——《第八章 项目质量管理》
- 用计算机探索商的变化规律教案,用计算器探索规律教学设计与反思(精选5篇)...
- Android浮窗实现(WindowManager)
- 大白用html5制作,别再选择单调的大白墙了,白墙这样设计,墙面丰富有质感!...
- MT6737芯片尾缀资料介绍
- 社区团购怎么做_分享有哪些方法可以做社区团购小程序