輕量型工作
本文件說明輕量型工作在並行執行階段中的角色。「輕量型工作」(Lightweight Task) 是指您直接從 concurrency::Scheduler 或 concurrency::ScheduleGroup 物件排程的工作。輕量型工作類似於您提供給 Windows API CreateThread 函式的函式。因此,當您改編現有程式碼以使用並行執行階段的排程功能時,輕量型工作非常有用。並行執行階段本身會使用輕量型工作來排程非同步代理程式,並在非同步訊息區之間傳送訊息。
提示 |
---|
並行執行階段提供了預設排程器,因此您不需要在應用程式中建立排程器。因為工作排程器有助於微調應用程式效能,如果您是並行執行階段的新使用者,建議請從平行模式程式庫 (PPL) 或非同步代理程式程式庫開始。 |
輕量型工作的額外負荷低於非同步代理程式和工作群組。例如,執行階段並不會在輕量型工作完成時對您發出通知。此外,執行階段也不會攔截或處理輕量型工作所擲回的例外狀況。如需例外狀況處理和輕量型工作的詳細資訊,請參閱並行執行階段的例外狀況處理。
對於大部分的工作,我們建議您使用更強大的功能,例如工作群組與平行演算法,因為它們可讓您更易於將複雜的工作簡化成基本工作。如需工作群組的詳細資訊,請參閱工作平行處理原則 (並行執行階段)。如需平行演算法的詳細資訊,請參閱平行演算法。
若要建立輕量級任務時,呼叫 concurrency::ScheduleGroup::ScheduleTask, concurrency::CurrentScheduler::ScheduleTask,或 concurrency::Scheduler::ScheduleTask 方法。若要等待輕量級任務在完成,等候 「 父代排程器 」 關機,或使用同步處理機制,例如 concurrency::event 物件。
範例
如需相關範例,以便了解如何改編現有程式碼以使用輕量型工作,請參閱逐步解說:改寫現有程式碼以使用輕量型工作。