-
單螺紋元件和單元模型。
Visual Basic 建立的所有部件都使用單元模型,無論部件是單執行緒還是多執行緒。 單螺紋元件只有乙個單元,該單元包含元件提供的所有物件。
這意味著在 Visual Basic 中建立的單執行緒 DLL 可以安全地用於多執行緒客戶端。 然而,效能和安全性是矛盾的,而這種安全性是以犧牲效能為代價的。 來自除當前客戶端執行緒之外的所有客戶端執行緒的呼叫都在等待排程,就好像它們在程序外一樣。
請參閱設計執行緒安全 DLL。
執行緒的所有權。
多執行緒程序內部沒有自己的執行緒。 如“設計執行緒安全 DLL”中所述,定義每個單元的執行緒屬於客戶端。
相比之下,多執行緒程序外元件可能具有具有固定執行緒數的執行緒池,或者為每個外部建立的物件設定乙個執行緒。
設計多執行緒程序外部件。
您可以利用單元模式進度來建立多執行緒程序外部。 此類小部件提供可在不同執行執行緒上執行的物件。
為了將物件分配給程序外部件中的執行緒,Visual Basic 提供了三個模型。 通過設定“專案屬性”對話方塊中“常規”選項卡上的“無使用者介面執行”框,可以選擇其中乙個模型。
執行緒分配模型的設定“無使用者介面執行”。
單個執行執行緒 選擇“執行緒池”選項以將執行緒數指定為 1。
迴圈分配執行緒的執行緒池 選擇“執行緒池”選項並指定可用的執行緒數。
每個外部建立的物件都有自己的執行緒 選擇“每個物件的執行緒數”選項。
執行的單個執行緒。
選擇“無 UI 執行”時,預設為單個執行執行緒。 使用此選項可以編譯在早期版本的 Visual Basic 中開發的部件,而無需考慮執行緒。
如果使用“不執行使用者介面”選項重新編譯部件,則伺服器將無法再顯示訊息框,並且無法接收管理員干預。 但是,此類訊息可以記錄到 Windows NT 事件日誌(或您選擇的日誌檔案)中,請參閱多執行緒部件的事件日誌。
迴圈執行緒池。
當客戶端請求物件時,Visual Basic 使用程式池在下乙個執行緒上建立所需的物件。 當執行緒到達執行緒池的末尾時,它將從頭開始。
-
現在可以多執行緒了。
作者是顧谷 發表於2002年3月18日 富人不光彩,窮人不羞愧。 現代人並不完全以物質標準來評判乙個人的價值,人們的生活方式豐富多彩,不是富人幸福,窮人很悲慘,生活的幸福與富人和窮人無關。 窮人有多窮? >>>More
NBA聯賽是由美國國家籃球協會創立的一項運動,於1896年,美國第乙個籃球組織“美國國家籃球聯盟(簡稱)成立”,但當時的籃球規則並不完善,組織也不完善,往往乙個球員乙個賽季可以代表幾支球隊, 幾個賽季後,該組織名存實亡。1946年4月6日,美國波士頓花園的老闆沃爾特·布朗(Walter A. Brown)發起了“美國籃球協會(BAA)”,布朗首先提出了後來成為現代職業籃球的兩大基石的高薪制和合同制。 合同制意味著一名球員只能與一家俱樂部簽訂合同,並建立了球員儲備制度,以防球員突然離開球隊。 >>>More