[問題] 有關於執行緒問題
我有關於一個執行緒問題
以下程式 是來自於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
10/24 16:04, 1F
推
10/24 20:32, , 2F
10/24 20:32, 2F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章