作业系统跨多个核心管理一组工作线程。它通常每个逻辑CPU核心有一个工作线程,以避免上下文切换(尽管它可能为操作系统或其他专用应用程序保留一些核心)。
作业系统将作业放入作业队列中以执行。作业系统中的工作线程从作业队列中获取项目并执行它们。作业系统管理依赖关系并确保作业以适当的顺序执行。
什么是工作?
工作是完成一项特定任务的一小部分工作。作业接收参数并对数据进行操作,类似于方法调用的行为方式。作业可以是自包含的,也可以依赖其他作业在运行之前完成。
什么是工作依赖?
在复杂的系统中,如游戏开发所需的系统,每个作业都不可能是独立的。一项工作通常是为下一份工作准备数据。工作人员知道并支持依赖关系以使其工作。如果jobA
具有依赖性jobB
,则作业系统确保在完成jobA
之前不会开始执行jobB
。