[問題] 有關於執行緒問題

看板C_and_CPP (C/C++)作者 (阿維)時間12年前 (2013/10/24 15:47), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
我有關於一個執行緒問題 以下程式 是來自於MSDN範例修改 public class Work { public: void StartThreads() { Thread^ newThread = gcnew Thread( gcnew ParameterizedThreadStart(this, &Work::DoMoreWork)); newThread->Start("The answer."); } void DoMoreWork(Object^ data) { Console::WriteLine("Instance thread procedure. Data='{0}'", data); } }; 我想要在自己的class裡面呼叫執行緒去執行自己calss的方法 因為這個方法可能會因為外部參數變化之類的 所以我不能設定成static 可是在編譯後 Thread^ newThread = gcnew Thread( gcnew ParameterizedThreadStart(this, &Work::DoMoreWork)); 會出錯 原因是 我的class Work不是宣告成ref class 可是今天如果我改成ref class 我的程式會大改(重點還不是我寫的 改的過程中一定會有很多問題無解) 拜託有哪位可以解惑 我必須在自己物件(非ref class)呼叫自己方法當做執行緒 這個方法又不能設定成static 有沒有其他的方法呢>< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.60.1

10/24 16:04, , 1F
%Work可以嗎?
10/24 16:04, 1F

10/24 20:32, , 2F
用一個 ref class 包起來啊...
10/24 20:32, 2F
文章代碼(AID): #1IQD2TqZ (C_and_CPP)
文章代碼(AID): #1IQD2TqZ (C_and_CPP)