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