轻量级任务

本文档介绍并发运行时中轻量级任务的角色。 轻量级任务是直接从 concurrency::Schedulerconcurrency::ScheduleGroup 对象计划的任务。 轻量级任务类似于提供给 Windows API CreateThread 函数的功能。 因此,当改编现有代码以使用并发运行时的计划功能时,轻量级任务非常有用。 并发运行时本身使用轻量级任务来计划异步代理并在异步消息块之间发送消息。

提示

并发运行时提供了一个默认计划程序,因此无需在应用程序中创建一个。 由于任务计划程序有助于优化应用程序的性能,如果你刚开始接触并发运行时,建议从使用并行模式库 (PPL)异步代理库开始。

轻量级任务开销低于异步代理和任务组。 例如,运行时不会在轻量级任务完成时通知你。 此外,运行时不会捕获或处理从轻量级任务引发的异常。 有关异常处理和轻量级任务的详细信息,请参阅异常处理

对于大多数任务,我们建议使用更可靠的功能,例如任务组和并行算法,因为它们让你更轻松地将复杂任务分解为更多基本任务。 有关任务组的详细信息,请参阅任务并行。 有关并行算法的详细信息,请参阅并行算法

若要创建轻量级任务,请调用 concurrency::ScheduleGroup::ScheduleTaskconcurrency::CurrentScheduler::ScheduleTaskconcurrency::Scheduler::ScheduleTask 方法。 若要等待轻量级任务完成,请等待父计划程序关闭或使用同步机制,如 concurrency::event 对象。

示例

有关演示如何调整现有代码以使用轻量级任务的示例,请参阅演练:调整现有代码以使用轻量级任务

另请参阅

任务计划程序
演练:调整现有代码以使用轻量级任务