多執行緒時DragDrop 註冊失敗的問題

2021-09-30 07:24:16 字數 451 閱讀 4288

現在引用如下:

首先在   static void main()  函式前加上     [stathreadattribute] 

然後在新建執行緒的那個函式

=new

thread(

newthreadstart(flymessage));

//新建了乙個執行緒

t.apartmentstate 

=apartmentstate.sta;

//加上這句話!

t.start();

//開始執行緒

我主要用的是「  static void main()  函式前加上     [stathreadattribute]  」把問題解決的,因為原來的**是vs2003的,沒有[stathreadattribute]。

主要是把今天遇到的「dragdrop 註冊失敗」做下記錄,以備以後遇到相同問題好同樣方式解決。

多執行緒程式設計時執行緒的喚醒方式

執行緒a和執行緒b,執行緒b可以認為消費者,而執行緒a可以認為生產者。執行緒b沒有任務時便會睡 眠。執行緒a有兩種方式喚醒執行緒b 1.condition variable,即執行緒b wait乙個condition variable,而執行緒a負責對這個co ndition呼叫notify 來喚醒...

delphi使用多執行緒時,介面死鎖

以下為例子 unit unit1 inte ce uses windows messages sysutils variants classes graphics controls forms dialogs stdctrls extctrls type tform1 class tform but...

iphone多執行緒操作NSArray時的乙個技巧

技巧說明 乙個以上的執行緒同時操作nsarray,任何乙個有寫操作,都容易引起 collection was mutated while being enumerated 所以在其中只有讀操作的執行緒中,將此array拷貝乙份出來進行讀取,可以解決此問題。使用場景 移動地圖時,地圖上會及時出現當前視...