突破:VB6中使用安全多執行緒

邁克揉索芙特發表於2008-05-08

    舊瓶裝新酒,老樹開新花。
    遙想當年研究vb6中的多執行緒,為求解而網際上四處奔波、八方碰壁,程式的一次次崩潰無情的摧殘和消磨著我的耐心、精力和時間,被折磨的簡直沒有人樣。匆匆數年,這個問題就像鄰家女孩般始終在心裡悄悄的佔據著一席之地。時至今日憶起往昔,獨愴然而泣下之老淚縱橫有過之而無不及。唉,往事不堪回首......
    說書唱戲勸人芳,三條大道走中央,善惡到頭終有報,人間正道是滄桑。我們還是說正事吧,今兒個我用vb6摳持出了個dll,用來在vb中安全使用多執行緒。對於穩定、安全的描述,還是留給尊敬的您吧。Go go go !!!

    下載地址:http://download.csdn.net/source/446182

    方法和屬性:

檔案資訊
檔案:  MT32.dll
版本: 
1.0.0.0
版權: COPYRIGHT(C) BY CHENOE 
2001-2009.ALL RIGHTS RESERVED.
語言: 英語(美國)
描述: Win32 Multithread Library

作者資訊
公司: CHENOE
網站: http:
//www.chenoe.com
作者: 魏滔序(Modest)
郵箱: taoxu.wei@
163.com
部落格: http:
//blog.csdn.net/Modest

庫資訊
庫名:Win32 Multithread Library 
1.0
GUID:791FFAFF
-DDCE-4451-BCA6-49CD2BD64006
版本:
1.0

列舉(
Enum)

ThreadPriorityConstants
    THREAD_PRIORITY_IDLE 最低優先順序(空閒時)
    THREAD_PRIORITY_LOWEST 比普通低二級
    THREAD_PRIORITY_BELOW_NORMAL 比普通低一級
    THREAD_PRIORITY_NORMAL 普通優先順序    
    THREAD_PRIORITY_ABOVE_NORMAL 比普通高一級
    THREAD_PRIORITY_HIGHEST 比普通高二級
    THREAD_PRIORITY_TIME_CRITICAL 最高優先順序

ThreadStateConstants
    THREAD_STATE_UNKNOWN 未知狀態(執行緒未建立或發生錯誤)
    THREAD_STATE_RUNNING 執行緒執行中
    THREAD_STATE_UNSTARTED 執行緒未開始
    THREAD_STATE_STOPPED 執行緒已停止(強制結束或正常退出)
    THREAD_STATE_SUSPENDED 執行緒被掛起


介面(
Interface)

類:Thread 

函式

CreateThread
功能:    建立執行緒
引數: ThreadObject 擁有執行緒函式的物件
    ThreadProc 執行緒函式名稱
    Params 執行緒函式的引數
    ReturnObject 執行緒函式返回的是否為物件型別
    Suspending 執行緒建立後是否掛起
返回:    執行緒控制程式碼

TerminateThread
功能:    強制結束執行緒
引數:    ExitCode 執行緒退出程式碼
返回:    函式執行是否成功

SuspendThread
功能:    掛起執行緒
引數:    無
返回:    函式執行是否成功

ResumeThread
功能:    繼續執行被掛起的執行緒
引數:    無
返回:    函式執行是否成功

屬性

ExitCode
功能:    返回執行緒退出碼

ThreadPriority
功能:    設定或返回執行緒優先順序

ThreadHandle
功能:    獲得執行緒控制程式碼

ThreadPseudoHandle
功能:    獲得執行緒偽控制程式碼

ThreadID
功能:    獲得執行緒ID

IsExist
功能:    獲得執行緒存活狀態

ThreadState
功能:    獲得執行緒狀態

ThreadObject
功能:    獲得擁有執行緒函式的物件

Result
功能:    獲得執行緒函式返回的結果

事件

ThreadCreateSuccess
說明:    執行緒建立成功
引數:    ThreadHandle 建立成功後的執行緒控制程式碼
    ThreadID 建立成功後的執行緒ID

ThreadCreateFailure
說明:    執行緒建立失敗
引數:    無

ThreadStart
說明:    執行緒開始執行
引數:    ThreadHandle 開始執行的執行緒控制程式碼
    ThreadID 開始執行的執行緒ID

ThreadFinish
說明:    執行緒正常執行完畢
引數:    ThreadHandle 執行的執行緒控制程式碼
    ThreadID 執行完畢的執行緒ID

ThreadTerminate
說明:    執行緒被強迫結束
引數:    ThreadHandle 被強迫結束的執行緒控制程式碼
    ThreadID 被強迫結束的執行緒ID
    ExitCode 退出程式碼

ThreadSuspend
說明:    執行緒被掛起
引數:    ThreadHandle 被掛起的執行緒控制程式碼
    ThreadID 被掛起的執行緒ID

ThreadResume
說明:    執行緒繼續執行
引數:    ThreadHandle 繼續執行的執行緒控制程式碼
    ThreadID 繼續執行的執行緒ID

ThreadPriorityChange
說明:    執行緒優先順序被改變
引數:    ThreadHandle 被改變優先順序的執行緒控制程式碼
    ThreadID 被改變優先順序的執行緒ID
    OldPriority 被改變前的執行緒優先順序
    NewPriority 被改變後的執行緒優先順序

類:Threads 

函式

CreateThread
功能:    建立執行緒
引數: Key 執行緒物件在集合中的關鍵字
    ThreadObject 擁有執行緒函式的物件
    ThreadProc 執行緒函式名稱
    Params 執行緒函式的引數
    ReturnObject 執行緒函式返回的是否為物件型別
    Suspending 執行緒建立後是否掛起
返回:    執行緒控制程式碼

TerminateThread
功能:    強制結束執行緒
引數:    Key 執行緒物件在集合中的關鍵字
    ExitCode 執行緒退出程式碼
返回:    函式執行是否成功

SuspendThread
功能:    掛起執行緒
引數:    Key 執行緒物件在集合中的關鍵字
返回:    函式執行是否成功

ResumeThread
功能:    繼續執行被掛起的執行緒
引數:    Key 執行緒物件在集合中的關鍵字
返回:    函式執行是否成功

屬性

ExitCode
功能:    返回執行緒退出碼
引數:    Key 執行緒物件在集合中的關鍵字

ThreadPriority
功能:    設定或返回執行緒優先順序
引數:    Key 執行緒物件在集合中的關鍵字

ThreadHandle
功能:    獲得執行緒控制程式碼
引數:    Key 執行緒物件在集合中的關鍵字

ThreadPseudoHandle
功能:    獲得執行緒偽控制程式碼
引數:    Key 執行緒物件在集合中的關鍵字

ThreadID
功能:    獲得執行緒ID
引數:    Key 執行緒物件在集合中的關鍵字

IsExist
功能:    獲得執行緒存活狀態
引數:    Key 執行緒物件在集合中的關鍵字

ThreadState
功能:    獲得執行緒狀態
引數:    Key 執行緒物件在集合中的關鍵字

ThreadObject
功能:    獲得擁有執行緒函式的物件
引數:    Key 執行緒物件在集合中的關鍵字

Result
功能:    獲得執行緒函式返回的結果
引數:    Key 執行緒物件在集合中的關鍵字

ThreadCount
功能:    執行緒物件集合中的執行緒物件數量
引數:    無

事件

ThreadCreateSuccess
說明:    執行緒建立成功
引數:    Key 執行緒物件在集合中的關鍵字
    ThreadHandle 建立成功後的執行緒控制程式碼
    ThreadID 建立成功後的執行緒ID

ThreadCreateFailure
說明:    執行緒建立失敗
引數:    Key 執行緒物件在集合中的關鍵字

ThreadStart
說明:    執行緒開始執行
引數:    Key 執行緒物件在集合中的關鍵字
    ThreadHandle 開始執行的執行緒控制程式碼
    ThreadID 開始執行的執行緒ID

ThreadFinish
說明:    執行緒正常執行完畢
引數:    Key 執行緒物件在集合中的關鍵字
    ThreadHandle 執行的執行緒控制程式碼
    ThreadID 執行完畢的執行緒ID

ThreadTerminate
說明:    執行緒被強迫結束
引數:    Key 執行緒物件在集合中的關鍵字
    ThreadHandle 被強迫結束的執行緒控制程式碼
    ThreadID 被強迫結束的執行緒ID
    ExitCode 退出程式碼

ThreadSuspend
說明:    執行緒被掛起
引數:    Key 執行緒物件在集合中的關鍵字
    ThreadHandle 被掛起的執行緒控制程式碼
    ThreadID 被掛起的執行緒ID

ThreadResume
說明:    執行緒繼續執行
引數:    Key 執行緒物件在集合中的關鍵字
    ThreadHandle 繼續執行的執行緒控制程式碼
    ThreadID 繼續執行的執行緒ID

ThreadPriorityChange
說明:    執行緒優先順序被改變
引數:    Key 執行緒物件在集合中的關鍵字
    ThreadHandle 被改變優先順序的執行緒控制程式碼
    ThreadID 被改變優先順序的執行緒ID
    OldPriority 被改變前的執行緒優先順序
    NewPriority 被改變後的執行緒優先順序

(完)

相關文章