分享方式:


輕量型工作

本檔說明並行執行時間中輕量型工作的角色。 輕 量型工作 是您直接從 concurrency::Schedulerconcurrency::ScheduleGroup 物件排程的工作。 輕量型工作類似于您提供給 Windows API CreateThread 函式的函式。 因此,當您調整現有的程式碼以使用並行執行時間的排程功能時,輕量型工作會很有用。 並行執行時間本身會使用輕量型工作來排程非同步代理程式,並在非同步消息區塊之間傳送訊息。

提示

並行執行階段會提供預設排程器,因此您不需要在應用程式中建立排程器。 由於工作排程器可協助您微調應用程式的效能,因此如果您不熟悉並行執行時間,建議您從平行模式程式庫 (PPL) 非同步代理程式程式庫 開始 。

輕量型工作的額外負荷比非同步代理程式和工作組少。 例如,執行時間不會在輕量型工作完成時通知您。 此外,執行時間不會攔截或處理從輕量型工作擲回的例外狀況。 如需例外狀況處理和輕量型工作的詳細資訊,請參閱 例外狀況處理

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

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

範例

如需示範如何調整現有程式碼以使用輕量型工作的範例,請參閱 逐步解說:調整現有程式碼以使用輕量型工作

另請參閱

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