0
我已經注意到這個創建線程時,我們何時必須使用LPTHREAD_START_ROUTINE?
HandleWorker = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)this->WorkerThread, this, 0, &Id);
我也意識到了這個問題here,這解釋了LPTHREAD_START_ROUTINE
類型定義 起始地址爲線程
但是,當我們要使用任何人都可以向我解釋的它?我的意思是爲什麼不能,我們只是使用
HandleWorker = CreateThread(NULL, 0, this->WorkerThread, this, 0, &Id);
你確定這個例子有效嗎?這個參數是某個簽名函數的地址。它應該看起來像'&YourClass :: WorkerThread'。 – NikolayKondratyev 2014-10-27 18:24:59
@NikolayKondratyev,第一個絕對有效! – Samer 2014-10-27 18:37:18
當你堅持使用標準C++即'std :: thread'時,你不會這麼做。在弄清楚你通過什麼的時候更聰明一些。 – MSalters 2014-10-28 09:46:06