舉例來說,當我們呼叫createthread時,建立了乙個執行緒核心物件,並返回了乙個執行緒控制代碼,這個控制代碼實際上指向了這個執行緒核心物件,而這個執行緒核心物件中包含了實際執行緒的許多資訊,是用來管理執行緒的資料結構而已。當我們想訪問這個執行緒時,只需要傳遞執行緒的控制代碼就可以,windows知道該如何去解析。
另一種定義應該是使用者物件控制代碼的定義,檢視visual c++源**可以看到:
declare_handle(hdc);
declare_handle(hicon);
declare_handle(hmenu);
declare_handle(hmetafile);
declare_handle(hinstance);
declare_handle(hpalette);
declare_handle(hpen);
declare_handle(hrgn);
以declare_handle(hdc)為例來說,將巨集展開可以得到如下的定義:
struct hdc__ ;
typedef struct hdc_ *hdc;
可以知道,hdc實際上是乙個指向hdc_結構的指標,hdc_結構包含了乙個整型變數,這個整型變數的值標識了乙個要使用的物件。
併發的實質
對於靜態方法而言根本就不存在什麼所謂的併發問題 理由1.對於方法,編譯器是一視同仁滴,哪怕你是非靜態方法,其編譯後的 其實就是靜態滴,就只有乙份,不會因為你不是靜態方法他就多出n份的道理 2.所謂的靜態併發問題,其實多數發生在共享的資源上面,這些資源包括靜態屬性,檔案占用,埠分配,資料庫連線這些東西...
引用的實質
1.引用的定義 引用即 變數的別名。int a 10 int b a b 即為a的別名。2.通過引用實現資料交換 3.引用的意義 引用作為變數的別名存在,因此在一些場合可以替代指標。引用相對於指標來說具有更好的可讀性和實用性。4.引用和指標一樣所佔的記憶體空間都是4個位元組。引用在c 中本質就是乙個...
C指標的實質
最近對c c 指標特別感冒,就詳細的研究了下 看下面的定義 char a hello world char p hello world 1.什麼是位址 位址本身就是一種基本資料型別,它跟整數,浮點數,字元等基本型別是一樣的。指標不是型別,真正的型別是位址,指標只不過是儲存位址這種資料型別的變數。打個...