Система заданий управляет многопоточным кодом, создавая задания вместо потоков.
Система заданий управляет группой рабочих потоков на нескольких ядрах. Обычно у него есть один рабочий поток на логический Ядро ЦП, чтобы избежать переключения контекста (хотя некоторые ядра могут быть зарезервированы для операционной системы или других специализированных приложений).
Система заданий помещает задания в очередь заданий для выполнения. Рабочие потоки в системе заданий берут элементы из очереди заданий и выполняют их. Система заданий управляет зависимостями
См. в Словарь и обеспечивает выполнение заданий в соответствующем порядке.
Что такое работа?
Задание – это небольшая единица работы, которая выполняет одну конкретную задачу. Задание получает параметры и работает с данными аналогично тому, как ведет себя вызов метода. Задания могут быть автономными или зависеть от завершения других заданий, прежде чем они смогут быть запущены.
Что такое зависимости работы?
В сложных системах, подобных тем, которые необходимы для разработки игр, маловероятно, что каждое задание является самодостаточным. Одно задание обычно готовит данные для следующего задания. Джобс знает о зависимостях и поддерживает их, чтобы это работало.
Если jobA
зависит от jobB
, система заданий гарантирует, что jobA
не начнет выполняться, пока jobB
не будет завершен.