在C 中怎樣運用多執行緒 MTAThread

時間 2025-01-28 23:45:20

1樓:網友

參考 c#高階程式設計 第13章。

c#使用多執行緒從資料庫查詢資料並顯示到gridview中,然後對gridview做任何如雙擊單元格操作即報錯

2樓:網友

stathread並不是表示你的程式只能編寫單執行緒序,你應該先改回stathread,然後好好了解一下sta和mta的區別。

c#中[stathread]的作用?

3樓:_神__仙

stathread:single thread apartment thread.(單一執行緒單元執行緒)

是用來表示attributes;

stathread]

是一種執行緒模型,用在程式的入口方法上(在c#和裡是main()方法),來指定當前執行緒的apartmentstate 是sta。用在其他方法上不產生影響。在aspx頁面上可以使用aspcompat = "true" 來達到同樣的效果。

這個屬性只在 com interop 有用,如果全部是 managed code 則無用。簡單的說法:[stathread]指示應用程式的預設執行緒模型是單執行緒單元 (sta)。

啟動執行緒模型可設定為單執行緒單元或多執行緒單元。如果未對其進行設定,則該執行緒不被初始化。也就是說如果你用的。

net framework,並且沒有使用com interop,一般不需要這個attribute。其它的還有mta(多執行緒套間)、free thread(自由執行緒)。

stathread] attribute指示應用程式的 com 執行緒模型是單執行緒單元。

而於此對應的多執行緒單元則是 [mtathread] (多執行緒單元執行緒)

com 執行緒模型只適用於使用 com interop 的應用程式。如果將此屬性應用到不使用 com interop 的應用程式,將沒有任何效果。

com 執行緒模型可設定為單執行緒單元或多執行緒單元。如果應用程式執行緒實際呼叫了 com 元件,則僅為 com interop 初始化該執行緒。如果沒有使用 com interop,則不初始化該執行緒。

c#中[stathread]的作用?

4樓:匿名使用者

在windows nt 中為同步執行緒訪問增加了單執行緒單元(sta)型別。同一時刻只有乙個執行緒可以訪問物件。

stathread] attribute指示應用程式的 com 執行緒模型是單執行緒單元 若為多執行緒單元則是 [mtathread] com 執行緒模型只適用於使用 com interop 的應用程式。如果將此屬性應用到不使用 com interop 的應用程式,將沒有任何效果。

使用[stathread]是否指不能使用多執行緒? 我發現在windows窗體應用程式的progra

5樓:爾離好活笑

不是的,這個跟多執行緒沒有關係。我可以100告訴你就算你用的這個照樣可以開執行緒。

關於stathread和mtathread這兩個屬性標籤我有點迷惑

6樓:網友

sta mta不影響你的多執行緒操作,這個屬性是影響com互操作的,你程式如果不操作com跟他們就沒有關係。

C 多執行緒 如何鎖定靜態類中靜態方法的引數

沒明白你的意思,那兩個引數只是形參,不同的執行緒都是獨立的,不會干擾。呼叫方法前用 加執行緒鎖,呼叫結束後釋放。方法是可重入的方法,不存在你說的問題,因此不用鎖引數。靜態類裡的引數本來就是靜態的,如何讓他錯亂你教教我?c 多執行緒呼叫static函式,怎麼利用鎖 多執行緒訪問靜態類中的方法最好加上鎖...

LED顯示屏在交通中可以怎樣運用

1 路況提示 眾所周知,道路交通狀況瞬息萬變,因而,路況提示顯得尤為重要。為了更好地幫助駕駛員掌握路況資訊,快速進行道路選擇,大螢幕出租商認為,在一些主要擁堵的路段設立路況資訊實時播報led顯示屏則是非常重要的。而且,有了這樣的提示,還能夠降低很多安全事故的發生,這對於維護社會安全還是非常有幫助的。...

C 中類怎樣定義,使用,C 中如果要用的類定義在使用之後,該怎樣宣告?

類的定義格式一般地分為說明部分和實現部分。說明部分是用來說明該類中的成員,包含資料成員的說明和成員函式的說明。成員函式是用來對資料成員進行操作的,又稱為 方法 實現部分是用來對成員函式的定義。概括說來,說明部分將告訴使用者 幹什麼 而實現部分是告訴使用者 怎麼幹 類的一般定義格式如下 class 類...