linux2.6定時器的時間輪演算法分析
1. Overview 常用的定時器實現演算法有兩種:紅黑樹和時間輪(timing wheel)。 在Linux2.6的程式碼中,kernel/timer.c檔案實現了一個通用定時器機制,使用的是時間輪演算法。 每一個CPU都有一個struct tvec_base結構,代表這個CPU使用 […]
-->
程式前沿 幫助程式設計師解決問題,增加專業技能,提升個人能力與未來世界競爭力。
1. Overview 常用的定時器實現演算法有兩種:紅黑樹和時間輪(timing wheel)。 在Linux2.6的程式碼中,kernel/timer.c檔案實現了一個通用定時器機制,使用的是時間輪演算法。 每一個CPU都有一個struct tvec_base結構,代表這個CPU使用 […]
幾種排序演算法分析: 氣泡排序: 氣泡排序的方法排序速度比較慢。 思路:進行n-1排序,第一次排序先找出最小的數字,放在第一個位置,然後在剩餘的數字中再找出最小的數字,放在第二個位置上,依次類推,可以排出所有的數字。 當然也可以從大到小的排序。 例如 a[]={5 ,4 ,3 […]
NULL is a macro defined in several standard headers, 0 is an integer constant, ‘\0’ is a character constant, and nul is the name of the ch […]
現在有很多軟體都支援拖拽功能,就是用滑鼠拖著檔案放到軟體視窗中某個位置,軟體就可以做出相應的反應。比如,Windows自帶的播放軟體Windows Media Player,你可以拖著一個媒體檔案放到它的主視窗中,它就會開始播放這個檔案。 怎麼讓自己的軟體也有這個功能呢? 其實, […]
Js apply方法詳解 我在一開始看到javascript的函式apply和call時,非常的模糊,看也看不懂,最近在網上看到一些文章對apply方法和call的一些示例,總算是看的有點眉目了,在這裡我做如下筆記,希望和大家分享.. 如有什麼不對的或者說法不明確的地方希望讀者多多提一些意見,以便共 […]
動態代理的一個最主要的應用場合就是實現AOP - 截獲方法呼叫,加入自己的預處理、後處理或Around處理。 我在ESBasic.Emit中實現了對這些截獲的支援。 首先,介紹兩個截獲者: /// <summary> /// IMethodInte […]
許多人提到有關ThinkPHP都會對它的高效,方便為之折服。但與很多朋友交流後,都對它當中的RBAC許可權控制,感到頭疼不已。看完這個文件,相信大家一定會有很清晰的瞭解。並且,以後關於這個框架的許可權控制非常熟析,並且能熟練掌握。 RBAC許多人聽到後會覺得很頭疼,不知道這是什麼東西 […]
key_len列顯示MySQL決定使用的鍵長度。如果鍵是NULL,則長度為NULL。注意通過key_len值我們可以確定MySQL將實際使用一個多部關鍵字的幾個部分。ref列顯示使用哪個列或常數與key一起從表中選擇行。rows列顯示MySQL認為它執行查詢時必須檢查的行數。Extra該列包含MyS […]
備份也可以通過開啟包另存為dts檔案完成。 Save all DTS packages on server to files Author Nigel Rivett This will save all dts packages on the server to storage files. It […]
//CreateRemoteThread 使用 關閉遠端程序控制代碼 processID遠端程序的程序ID handle遠端程序的程序控制代碼CloseRemoteHandle( DWORD processID, HANDLE handle )…{ HANDLE ht = 0; […]