这个方案其实在提出问题的第二天就解决了,由于忘记了,所以就没有做记录。

需求:使用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同时执行多个程序的方案相关推荐

  1. 使用 python socket 执行远程服务器程序

    参考:https://www.runoob.com/python/python-socket.html Socket又称"套接字",应用程序通常通过"套接字"向 ...

  2. python多个for的执行顺序-python顺序执行多个py文件

    假如我要执行code目录下的python程序,假设该目录下有1.py,2.py,3.py,4.py四个文件,但是我想执行1.py,2.py,4.py,则可在该目录下创建一个python文件,代码如下: ...

  3. 多线程解决rospy.spin()语句之后,程序不再往下执行问题

    ROS使用C++,有两种函数来处理回调问题,ros::spin()和ros::spinOnce().两者区别在于前者调用后不会再返回,也就是你的主程序到这儿就不往下执行了,而后者在调用后还可以继续执行 ...

  4. python运行非常慢的解决-python执行太慢

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 假如 load 完成还没计算,这时候线程切换了,其他线程修改了 a 的值,然后切换 ...

  5. python遇到错误跳过_python except异常处理之后不退出,解决异常继续执行的实现

    写了个等待分析结果,解析分析结果json的脚本 那个文件生成时候有点大,有时候监测到新文件就去解析可能文件只生成了一半,就会抛出异常退出当前线程,此次的分析结果就丢失了,如果load json文件失败 ...

  6. python 不执行函数_解决python调用自己文件函数/执行函数找不到包问题

    写python程序的时候很多人习惯创建一个utils.py文件,存放一些经常使用的函数,方便其他文件调用,同时也更好的管理一些通用函数,方便今后使用.或是两个文件之间的class或是函数调用情况. 就 ...

  7. python执行到input后执行下一程序_Python基础知识储备,如何开关一个while循环

    一.什么是循环 循环语句就是在某种条件下,一遍一遍重复的执行某个动作. 如:从1加到100,重复执行加法的动作,就需要用到循环. 二.循环的三要素 虽然循环是反复的执行某个动作,但是循环也会停止的,没 ...

  8. python的except之后还运行吗_python except异常处理之后不退出,如何解决异常继续执行...

    python except异常处理之后不退出,如何解决异常继续执行 发布时间:2020-07-30 14:46:03 来源:亿速云 阅读:82 作者:小猪 这篇文章主要为大家展示了python exc ...

  9. python怎么编写重复程序,python重复执行怎么写

    python如何用for循环控制多次执行一个自定义函数? 首先我定义一个取随机数的函数: import random def R(): print random #脚本里面直接这样写就好了import ...

最新文章

  1. Centos7下安装MongoDB
  2. 客户管理系统企业客户管理crm客户管理
  3. 看服务器是不是虚拟机
  4. 排序算法 | 快速排序,算法的图解、实现、复杂度和稳定性分析与优化
  5. 干掉 Postman?测试接口直接生成 API 文档,这工具真香!
  6. CADENCE ORCAD原理图导出FPGA UCF的方法
  7. nginx 指向一个文件夹_弄懂nginx的语法就是这么简单
  8. 微服务 注册中心_4.微服务架构的第二个组件:注册中心
  9. xml之dom4j解析
  10. Linux如何清除系统密码,如何消除LINUX系统密码
  11. 如何想要在开机启动登陆时,用户名也不输入
  12. 各种说明方法的答题格式_各种轴承安装方法说明及注意事项,避免这些坑提高轴承寿命...
  13. 51单片机原理与设计方案(包含原理图与PCB)
  14. Java | 绘图:Graphics2D
  15. PMBOK(第六版) 学习笔记 ——《第八章 项目质量管理》
  16. 用计算机探索商的变化规律教案,用计算器探索规律教学设计与反思(精选5篇)...
  17. Android浮窗实现(WindowManager)
  18. 大白用html5制作,别再选择单调的大白墙了,白墙这样设计,墙面丰富有质感!...
  19. MT6737芯片尾缀资料介绍
  20. 社区团购怎么做_分享有哪些方法可以做社区团购小程序

热门文章

  1. Redis - CLUSTER命令中集群管理命令详解
  2. 读《刻意练习》后感,与原文好句摘抄
  3. 自编超爽的对战游戏 非常有趣
  4. 面试题01.05.一次编辑
  5. 画一只动态皮卡丘(一)
  6. python实践输出星星_打印星星 - Python
  7. 树莓派3安装系统linux,树莓派3 安装Fyde OS
  8. 【游戏开发】2D RPG游戏
  9. NLP- 关键词提取 - 综述
  10. 基于字的二元模型拼音输入