我有一個函數在我的類中創建一個線程並給它的參數來調用該類的一部分的函數,但由於線程過程必須是靜態的,我無法訪問任何類的成員。如何在不使用cpp文件中的一堆靜態成員來暫時給數據進行操作的情況下做到這一點,這看起來很慢。從另一個thead訪問類功能?
繼承人我的意思的例子:
在CPP文件:
void myclass::SetNumber(int number)
{
numberfromclass = number;
}
void ThreadProc(void *arg)
{
//Can't do this
myclass::SetNumber((int)arg);
}
我不能這樣做,因爲SetNumber必須是靜態的,但我例如我的課很多,所以這將無法工作。
我該怎麼辦?
感謝
我沒有使用提升 – jmasterx 2010-07-06 19:20:14
哦,好吧,我只是傳遞一個結構,然後其中的1個成員是自我指針 – jmasterx 2010-07-06 19:30:03
是的,如果你真的反對提升使用率,那可能是一個解決方案。但是請注意,這些東西現在是主要編譯器支持的新的C++ 0x標準的一部分,所以使用它並不奇特。他們在不同的命名空間思想:std而不是boost – jdehaan 2010-07-06 19:34:44