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