如何解决应当连续运行VS运行直到完成的过程的条款
是否有一般的抽象计算机科学术语来表示:
- 应该持续运行的进程(没有结束)
和
- 应该运行到完成(结束)的过程
分别?
第一类的示例:Web服务器,OS守护进程。我还将在这里放置任何一般的交互式应用程序(游戏,浏览器,文字处理程序),因为除非给出(错误的)外部输入,否则该内容将永远运行。但是我不会在这里放置一个交互式应用程序,该程序被编程为在一定时间内结束自身,因为即使没有外部输入,该应用程序也会“自然结束”。
第二类的示例:一个脚本,该脚本从互联网上抓取一些数据并构建一个数据集,一个程序获取我的桌面屏幕快照并保存该程序,一个命令行实用程序对文件进行加密等。
我正在寻找可以根据过程结束(没有外部输入)还是最终陷入无限循环来区分过程的术语。但是我正在寻找可以在日常技术环境中使用的“实用”术语。
我可以想到诸如“有限”和“无限”过程之类的数学术语(不确定此类术语是否在任何地方使用),但是我怀疑它们是否会在日常行话中被采用和使用。
我无法想象有人说“哦,今天我们必须运行几个有限程序,并且必须对无限程序添加监视”。 (很遗憾,因为这些句子对我来说非常简洁明了!)
根据我所听到,阅读和使用的内容,术语“批处理作业”通常用于表示我所描述的第二类。但是我不知道会有一个广泛的术语来表示相反的类别。
此外,术语“批处理”有点重载,并且根据上下文和您所在的字段,可能会被“丰富”并具有其他含义。例如,如果您的上下文是“处理数据”,则可以使用“批处理”来表示以块而非一对一的方式处理数据的方式。在机器学习中,您可能有一个脚本可以“批处理模式”(一次处理N行)或“在线模式”(一次处理一行)训练模型。在这种情况下,可能很难将训练过程表示为“批处理作业”或“批处理流程”,因为这可能会使您困惑,是要说您的流程将要结束还是要批量处理数据?
表示“有限”类的另一个很好的候选人可能是“任务”。 “任务”传达的含义是“需要开始和完成的事情”。
但是在实践中,您可以找到用于“无限”事物的术语,例如在VSCode的监视任务中。在那种情况下,“任务”的含义扩展为“我可以按需开始的事情”,而对“可完成性”的关注就消失了。
最后,我喜欢Kubernetes的方法,为这两个类提供两个简单的单字术语:“部署”(对于应该永远运行的事物)和“作业”(对于应该完成的事物) ,但我觉得“部署”和“作业”遭受的负担甚至超过了“批处理”。
例如,“部署”已经在Kubernetes术语本身内部引起混淆,因为它可能被用作表示“开始某事”的动词。很多人可能会说“我部署此作业”或“我部署此部署”。对于刚接触Kubernetes的人来说,尝试理解Kubernetes的“部署”的概念,在同一句话中听到“部署”和“工作”可能会造成混淆。
用这个rather incomplete wikipedia page on "Job (computing)"来判断,“工作”一词似乎似乎是一个合适的词,它表示可以完成的事情。但是从UNIX的意义上讲,“工作”没有这种含义。而且我认为UNIX上的“作业”比其抽象的同义字(计算领域的“作业”)更为广泛。
您想提出什么建议吗?
还是您在技术环境中的日常生活中使用的术语?
您对这个主题有什么想法,您的结论是什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。