共用方式為


ICLRTask2 介面

提供 ICLRTask 介面的所有功能,此外,還提供方法以允許延遲目前執行緒上的執行緒中止。

方法

方法

描述

ICLRTask2::BeginPreventAsyncAbort 方法

延遲目前執行緒上的新執行緒中止要求。

ICLRTask2::EndPreventAsyncAbort 方法

可讓新的或暫止的執行緒中止要求導致目前執行緒上的執行緒中止。

備註

ICLRTask2 介面會繼承 ICLRTask 介面,並且新增方法,讓主機可以延遲執行緒中止,以保護絕不能失敗的程式碼區域。 呼叫 BeginPreventAsyncAbort 會使目前執行緒的延遲執行緒中止計數器遞增,而呼叫 EndPreventAsyncAbort 則會使計數器遞減。 BeginPreventAsyncAbortEndPreventAsyncAbort 方法的呼叫可以是巢狀。 只要計數器結果大於零,會延遲目前執行緒的執行緒中止。

如果對 BeginPreventAsyncAbortEndPreventAsyncAbort 的呼叫沒有配對,就可能會達到執行緒中止無法傳遞至目前執行緒的狀態。

自我中止的執行緒就不會執行延遲。

此功能公開的功能供虛擬機器 (VM) 內部使用。 誤用這些方法可能會導致 VM 發生不明的行為。 例如,若 VM 先前已遞增過計數器,則呼叫 EndPreventAsyncAbort 而未先呼叫 BeginPreventAsyncAbort 可能會將計數器設定為零。 同樣地,也不會檢查內部計數器溢位。 如果因為主機和 VM 遞增計數器值而超出其整數限制,則結果行為不明。

如需繼承自 ICLRTask 的成員,以及這個介面其他用法的詳細資訊,請參閱 ICLRTask 介面。

需求

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

**標頭:**MSCorEE.h

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

**.NET Framework 版本:**4

請參閱

參考

ICLRTask 介面

ICLRTaskManager 介面

IHostTask 介面

IHostTaskManager 介面

其他資源

裝載介面