本文件說明併發運行時中輕量型任務的角色。 輕量型工作 是您直接從 concurrency::Scheduler 或 concurrency::ScheduleGroup 物件排程的工作。 輕量型工作類似於您提供給 Windows API CreateThread 函式的功能。 因此,當您調整現有代碼以使用併發執行環境的排程功能時,輕量化任務會很有用。 並行運行時系統本身會使用輕量型工作來排程非同步代理,並在異步訊息區塊間傳遞訊息。
提示
並行執行階段會提供預設排程器,因此您不需要在應用程式中建立排程器。 由於工作排程器可協助您微調應用程式的效能,因此如果您不熟悉並行運行時間,建議您從平行模式連結庫 (PPL) 或異步代理程序連結庫開始。
輕量型工作的額外負荷比異步代理程式和工作組少。 例如,執行時不會在輕量型任務完成時通知您。 此外,執行階段不會捕捉或處理從輕量級任務拋出的例外狀況。 如需例外狀況處理和輕量型工作的詳細資訊,請參閱 例外狀況處理。
針對大部分的工作,我們建議您使用更強大的功能,例如工作組和平行演算法,因為它們可讓您更輕鬆地將複雜的工作分成更基本的工作。 如需工作組的詳細資訊,請參閱 工作平行處理原則。 如需平行演算法的詳細資訊,請參閱 平行演算法。
若要建立輕量型工作,請呼叫 concurrency::ScheduleGroup::ScheduleTask、concurrency::CurrentScheduler::ScheduleTask 或 concurrency::Scheduler::ScheduleTask 方法。 若要等候輕量型工作完成,請等候父排程器關閉或使用同步處理機制,例如 並行::event 物件。
範例
如需示範如何調整現有程式碼以使用輕量型工作的範例,請參閱 逐步解說:調整現有程式代碼以使用輕量型工作。