c 基礎知識 Thread 類常用的屬性和方法

2021-08-15 04:07:44 字數 3907 閱讀 2261

下表列出了thread類的一些常用的屬性

屬性描述

currentcontext

獲取執行緒正在其中執行的當前上下文。

currentculture

獲取或設定當前執行緒的區域性。

currentprinciple

獲取或設定執行緒的當前負責人(對基於角色的安全性而言)。

currentthread

獲取當前正在執行的執行緒。

currentuiculture

獲取或設定資源管理器使用的當前區域性以便在執行時查詢區域性特定的資源。

executioncontext

獲取乙個 executioncontext 物件,該物件包含有關當前執行緒的各種上下文的資訊。

isalive

獲取乙個值,該值指示當前執行緒的執行狀態。

isbackground

獲取或設定乙個值,該值指示某個執行緒是否為後台執行緒。

isthreadpoolthread

獲取乙個值,該值指示執行緒是否屬於託管執行緒池。

managedthreadid

獲取當前託管執行緒的唯一識別符號。

name

獲取或設定執行緒的名稱。

priority

獲取或設定乙個值,該值指示執行緒的排程優先順序。

threadstate

獲取乙個值,該值包含當前執行緒的狀態。

下表列出了thread類的一些常用的方法

序號方法名 & 描述

1public void abort()

在呼叫此方法的執行緒上引發 threadabortexception,以開始終止此執行緒的過程。呼叫此方法通常會終止執行緒。

2public static localdatastoreslot allocatedataslot()

在所有的執行緒上分配未命名的資料槽。為了獲得更好的效能,請改用以 threadstaticattribute 屬性標記的字段。

3public static localdatastoreslot allocatenameddataslot( string name)

在所有執行緒上分配已命名的資料槽。為了獲得更好的效能,請改用以 threadstaticattribute 屬性標記的字段。

4public static void begincriticalregion()

通知主機執行將要進入乙個**區域,在該**區域內線程中止或未經處理的異常的影響可能會危害應用程式域中的其他任務。

5public static void beginthreadaffinity()

通知主機託管**將要執行依賴於當前物理作業系統執行緒的標識的指令。

6public static void endcriticalregion()

通知主機執行將要進入乙個**區域,在該**區域內線程中止或未經處理的異常僅影響當前任務。

7public static void endthreadaffinity()

通知主機託管**已執行完依賴於當前物理作業系統執行緒的標識的指令。

8public static void freenameddataslot(string name)

為程序中的所有執行緒消除名稱與槽之間的關聯。為了獲得更好的效能,請改用以 threadstaticattribute 屬性標記的字段。

9public static object getdata( localdatastoreslot slot )

在當前執行緒的當前域中從當前執行緒上指定的槽中檢索值。為了獲得更好的效能,請改用以 threadstaticattribute 屬性標記的字段。

10返回當前執行緒正在其中執行的當前域。

11返回唯一的應用程式域識別符號。

12public static localdatastoreslot getnameddataslot( string name )

查詢已命名的資料槽。為了獲得更好的效能,請改用以 threadstaticattribute 屬性標記的字段。

13public void interrupt()

中斷處於 waitsleepjoin 執行緒狀態的執行緒。

14public void join()

在繼續執行標準的 com 和 sendmessage 訊息幫浦處理期間,阻塞呼叫執行緒,直到某個執行緒終止為止。此方法有不同的過載形式。

15public static void memorybarrier()

按如下方式同步記憶體訪問:執行當前執行緒的處理器在對指令重新排序時,不能採用先執行 memorybarrier 呼叫之後的記憶體訪問,再執行 memorybarrier 呼叫之前的記憶體訪問的方式。

16public static void resetabort()

取消為當前執行緒請求的 abort。

17public static void setdata( localdatastoreslot slot, object data )

在當前正在執行的執行緒上為此執行緒的當前域在指定槽中設定資料。為了獲得更好的效能,請改用以 threadstaticattribute 屬性標記的字段。

18public void start()

開始乙個執行緒。

19public static void sleep( int millisecondstimeout )

讓執行緒暫停一段時間。

20public static void spinwait( int iterations )

導致執行緒等待由 iterations 引數定義的時間量。

21public static byte volatileread( ref byte address )

public static double volatileread( ref double address )

public static int volatileread( ref int address )

public static object volatileread( ref object address )

讀取字段值。無論處理器的數目或處理器快取的狀態如何,該值都是由計算機的任何處理器寫入的最新值。此方法有不同的過載形式。這裡只給出了一些形式。

22public static void volatilewrite( ref byte address, byte value )

public static void volatilewrite( ref double address, double value )

public static void volatilewrite( ref int address, int value )

public static void volatilewrite( ref object address, object value )

立即向字段寫入乙個值,以使該值對計算機中的所有處理器都可見。此方法有不同的過載形式。這裡只給出了一些形式。

23public static bool yield()

導致呼叫執行緒執行準備好在當預處理器上執行的另乙個執行緒。由作業系統選擇要執行的執行緒。

C 類 基礎知識

目錄3.2 複製建構函式 3.3 析構函式 4.類組合 class class name功能 用於在建立類時給類設定初值 形式note 在宣告中定義了預設引數時,實現中不能再指定預設引數。下面 執行會報錯 void func int x 0 void func int x 0 呼叫時機 預設建構函式...

C 類的基礎知識

類是物件導向程式設計的核心,是通過抽象資料型別方法實現的一種使用者自定義資料型別,它同時包含了資料和對資料進行操作的函式。利用類可以實現資料的封裝和隱藏。類是對某一類物件的抽象,而物件是某一種類的例項。類的定義 類的定義可以分為兩部分 說明部分和實現部分。說明部分說明類中包含的資料成員和成員函式,實...

C 類的基礎知識

類通常包括兩部分 類的內部實現和類的使用方式。當我們建立乙個類時,我們需要考慮去怎麼實現,使用的時候不需要考慮細節,不用想怎麼去實現。首先我們給出乙個簡單的類 class test int getval private int v int test getval 類裡面包含了量種不同的東語法,乙個是...