matlab初始化慢怎么解決 vb怎么實(shí)現(xiàn)多線程?
vb怎么實(shí)現(xiàn)多線程?方法1:創(chuàng)建線程不用說(shuō),它是Win32中創(chuàng)建線程的唯一系統(tǒng)化方法,雖然下面的多線程創(chuàng)建方法并不直截了當(dāng)。聯(lián)系這個(gè)Win32 APi,但是系統(tǒng)也是通過(guò)他創(chuàng)建的。方法2:定時(shí)器設(shè)置事件
vb怎么實(shí)現(xiàn)多線程?
方法1:創(chuàng)建線程
不用說(shuō),它是Win32中創(chuàng)建線程的唯一系統(tǒng)化方法,雖然下面的多線程創(chuàng)建方法并不直截了當(dāng)。
聯(lián)系這個(gè)Win32 APi,但是系統(tǒng)也是通過(guò)他創(chuàng)建的。
方法2:定時(shí)器設(shè)置事件
該函數(shù)是Win32系統(tǒng)的高精度定時(shí)器函數(shù)。通過(guò)調(diào)用這個(gè)函數(shù),系統(tǒng)將創(chuàng)建一個(gè)新的線程并讓定時(shí)器
回調(diào)函數(shù)中的代碼在這個(gè)新線程中運(yùn)行。
方法3: shcreatethread
很多人應(yīng)該沒(méi)見(jiàn)過(guò)這個(gè)功能,這是shlwapi.dll的一個(gè)出口功能。這個(gè)功能可以從字面上理解為創(chuàng)建多線。
流程的功能,以及。。。他是一個(gè)基于對(duì)象操作的多線程函數(shù),也就是說(shuō)他可以穩(wěn)定運(yùn)行上面兩種方法創(chuàng)建的一些程序。
建成,但可以 運(yùn)行不穩(wěn)定。至少這個(gè)功能在IDE環(huán)境下還是比較滿意的!使用方法見(jiàn)API-GUIDE。
方法四:我記得,CreateRemoteThread
創(chuàng)建一個(gè)遠(yuǎn)程線程,測(cè)試后一點(diǎn)都不穩(wěn)定,不可能走下去。不如直接調(diào)用CreateThread。
不過(guò)作為一個(gè)線程創(chuàng)建方法,還是希望熟悉一下。如果你不 t用VB寫(xiě)代碼,應(yīng)該寫(xiě)跨進(jìn)程線程,簡(jiǎn)單易行。
行,否則只能繼續(xù)SetWindowHook,熟悉匯編指令的也可以遠(yuǎn)程分配內(nèi)存寫(xiě)硬代碼執(zhí)行。
方法五:簡(jiǎn)單說(shuō)說(shuō)ActiveX多線程。
論壇里有一個(gè)用這種方法實(shí)現(xiàn)的穩(wěn)定的多線程。雖然代碼很好,但我可以 不要用它。在提倡便攜應(yīng)用的今天,對(duì)于多線程。
程,而且注冊(cè)表里xx比較多,不好。。而且卸載比較麻煩。用ActiveX創(chuàng)建線程與用其他創(chuàng)建的線程相比是最重的。
最重要的是,任何VB函數(shù)調(diào)用都應(yīng)該基于新線程中新初始化的對(duì)象,不應(yīng)該跨對(duì)象調(diào)用。
ActiveX的安全線程本身就利用了這一點(diǎn)。不知道研究ActiveX的大佬們有沒(méi)有關(guān)注到它,利用它的特性。
當(dāng)前的多線程是一個(gè)新初始化的線程,這個(gè)線程中初始化的對(duì)象就是整個(gè)項(xiàng)目。資源的極大浪費(fèi),而且還有
It it'控制時(shí)間不容易。;這不是你想要的效果??傊?,新線程應(yīng)該自己初始化新對(duì)象,最好不要通過(guò)實(shí)例繼承。
方法六:我的想法
記得以前CSDN有人做過(guò)一個(gè)代碼,通過(guò)函數(shù)地址抓取函數(shù)中的機(jī)器碼。如果我們能知道VB什么時(shí)候把代碼放進(jìn)去了,
轉(zhuǎn)換機(jī)器碼,然后抓取這些代碼放到數(shù)組里。