共用方式為


ICLRTask 介面

提供方法讓主應用程式提出 Common Language Runtime (CLR) 的要求,或是為 CLR 提供關於關聯工作的告知。

方法

方法

描述

ICLRTask::Abort 方法

要求 CLR 中止目前 ICLRTask 執行個體所表示的工作。

ICLRTask::ExitTask 方法

通知 CLR,正在結束與目前的 ICLRTask 執行個體關聯的工作,並嘗試正常關閉此工作。

ICLRTask::GetMemStats 方法

取得有關目前的 ICLRTask 執行個體所表示的工作對於記憶體資源使用的統計資料資訊。

ICLRTask::LocksHeld 方法

取得目前此工作上所持有的鎖定數目。

ICLRTask::NeedsPriorityScheduling 方法

取得值,指出主應用程式是否應該指派高優先權,重新排定目前的 ICLRTask 執行個體所表示的工作。

ICLRTask::Reset 方法

通知 CLR,主應用程式已完成工作,並讓 CLR 重複使用目前的 ICLRTask 執行個體,以表示另一項工作。

ICLRTask::RudeAbort 方法

讓 CLR 立即中止目前的 ICLRTask 執行個體所表示的工作,而不保證將會執行完成項。

ICLRTask::SetTaskIdentifier 方法

針對目前的 ICLRTask 執行個體所表示的工作設定唯一識別項,以便用於偵錯。

ICLRTask::SwitchIn 方法

告知 CLR,目前的 ICLRTask 執行個體所表示的工作處於可運作狀態。

ICLRTask::SwitchOut 方法

告知 CLR,目前的 ICLRTask 執行個體所表示的工作不再處於可運作狀態。

ICLRTask::YieldTask 方法

要求 CLR 讓處理器時間可供其他工作使用。 CLR 不保證此工作將處於可產生處理時間的狀態。

備註

對於 CLR,ICLRTask 表示工作。 程式碼執行期間的任何時間點,可以將工作描述為正在執行或是等候執行。 主應用程式會呼叫 ICLRTask::SwitchIn 方法來告知 CLR,目前的 ICLRTask 執行個體所表示的工作此時處於可運作狀態。 在呼叫 ICLRTask::SwitchIn 之後,主應用程式可以在任何作業系統執行緒上排定工作,但是當執行階段需要執行緒相似性時除外 (如 IHostTaskManager::BeginThreadAffinityIHostTaskManager::EndThreadAffinity 方法的呼叫所指定)。 稍後,作業系統可能決定從執行緒移除工作,並將它處於非執行中狀態。 例如,每當工作在同步處理原始物件上封鎖,或等待 I/O 作業完成時,可能會發生這種狀況。 主應用程式會呼叫 SwitchOut 來告知 CLR,目前的 ICLRTask 執行個體所表示的工作已不再處於可運作狀態。

工作一般會在程式碼執行結尾結束。 這時,主應用程式會呼叫 ICLRTask::ExitTask 來終結關聯的 ICLRTask。 但是,也可以使用 ICLRTask::Reset 的呼叫來回收工作,如此可以再度使用 ICLRTask 執行個體。 這個方法會防止重複建立和終結執行個體時所產生的額外負荷。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**MSCorEE.h

程式庫:包含做為 MSCorEE.dll 中的資源

**.NET Framework 版本:**4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

請參閱

參考

ICLRTaskManager 介面

IHostTask 介面

IHostTaskManager 介面

ICLRTask2 介面

其他資源

裝載介面