輕量型工作

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

本文件說明輕量型工作在並行執行階段中的角色。 「輕量型工作」(Lightweight Task) 是指您直接從 concurrency::Schedulerconcurrency::ScheduleGroup 物件排程的工作。 輕量型工作類似於您提供給 Windows API CreateThread 函式的函式。 因此,當您改編現有程式碼以使用並行執行階段的排程功能時,輕量型工作非常有用。 並行執行階段本身會使用輕量型工作來排程非同步代理程式,並在非同步訊息區之間傳送訊息。

System_CAPS_ICON_tip.jpg 提示

並行執行階段提供了預設排程器,因此您不需要在應用程式中建立排程器。 因為工作排程器有助於微調應用程式效能,如果您是並行執行階段的新使用者,建議請從平行模式程式庫 (PPL)非同步代理程式程式庫開始。

輕量型工作的額外負荷低於非同步代理程式和工作群組。 例如,執行階段並不會在輕量型工作完成時對您發出通知。 此外,執行階段也不會攔截或處理輕量型工作所擲回的例外狀況。 如需例外狀況處理和輕量型工作的詳細資訊,請參閱例外狀況處理

對於大部分的工作,我們建議您使用更強大的功能,例如工作群組與平行演算法,因為它們可讓您更易於將複雜的工作簡化成基本工作。 如需工作群組的詳細資訊,請參閱工作平行處理原則。 如需平行演算法的詳細資訊,請參閱平行演算法

若要建立輕量型工作,請呼叫 concurrency::ScheduleGroup::ScheduleTaskconcurrency::CurrentScheduler::ScheduleTaskconcurrency::Scheduler::ScheduleTask 方法。 若要等候輕量型工作完成,請靜待父排程器關閉,或使用同步處理機制,例如 concurrency::event 物件。

範例

如需相關範例,以便了解如何改編現有程式碼以使用輕量型工作,請參閱逐步解說:改寫現有程式碼以使用輕量型工作

請參閱

工作排程器
逐步解說:改寫現有程式碼以使用輕量型工作