鄙視下上面的垃圾博文,純粹忽悠人
參考文章:搞不明白不去看官方文件!!!!!!!!!!!!檢視msdn 裡getthreadtimes的文件這是乙個德國人寫的部落格,我看了好幾遍,對他寫的德式英語還是不太明白,(本人英文水平不高也是事實),所以我理解的不對的地方還望大家指正。不過結論肯定是正確的,就是通過getthreadtimes 得到的執行緒占用時間是不準確的,在某種條件下甚至是很不準確的。
另外我發現呼叫getthreadtimes獲取其它執行緒的計數基本得不到,我還沒有搞明白是什麼原因。
bool winapi getthreadtimes(_in_ handle hthread,//需要獲取cpu時間的執行緒控制代碼
_out_ lpfiletime lpcreationtime,//建立時間
_out_ lpfiletime lpexittime,//退出時間
_out_ lpfiletime lpkerneltime,//核心時間
_out_ lpfiletime lpusertime//使用者時間
);
hthread在這篇文章其計時資訊尋求的執行緒的控制代碼。該控制代碼必須具有的 thread_query_information 或 thread_query_limited_information 訪問權。有關詳細資訊,請參見執行緒安全和訪問許可權。
windows server 2003 和 windows xp: 控制代碼必須具有的 thread_query_information 的訪問許可權。
thread security and access rights裡看到thread_query_information,結合說明得出thread_query_information是安全描述符的乙個標誌,所以又檢視下面這篇文章學習如果建立使用
creating a security descriptor for a new object in c++
filetime ftkerneltimestart, ftkerneltimeend;成功執行如下filetime ftusertimestart, ftusertimeend;
filetime ftdummy;
handle hthread;
unsigned threadid;
security_attributes sathread;
psecurity_descriptor psd = null; //psecurity_descriptor安全描述符
psd = (psecurity_descriptor)localalloc(lptr,
thread_query_information);
if (null == psd)
sathread.nlength = sizeof(sathread);
sathread.lpsecuritydescriptor = psd;
hthread = (handle)_beginthreadex(&sathread, 0, firstthread, null, 0, &threadid);
if(psd)
localfree(psd);
getthreadtimes(hthread, &ftdummy, &ftdummy,
&ftkerneltimestart, &ftusertimestart);
ProceedingJoinPoint獲取當前方法
aspectj切面通過proceedingjoinpoint想要獲取當前執行的方法 錯誤方法 signature s pjp.getsignature methodsignature ms methodsignature s method m ms.getmethod 這種方式獲取到的方法是介面的方...
android audioManager獲取音量
通過程式獲取android 系統 手機的鈴聲和音量。同樣,設定鈴聲和音量的方法也很簡單!audiomanager maudiomanager audiomanager getsystemservice context.audio service 通話音量 int max maudiomanager....
HttpURLConnection請求獲取資料。
public class urlconnect system.out.println s public static string urlconnectxml string urlstr,string jsonstring throws exception bufferedreader.close ...