具有静态成员函数的C ++ / CLI线程

时间:2014-12-05 15:38:22

标签: multithreading c++-cli

我有一个名为MCWrapper的类,我想从中调用静态成员函数作为从套接字接收数据的线程。我已经能够在我的控制台应用程序中创建托管类的实例并传递数据,但现在我希望能够清理并尽可能地推送到我所建造的dll中

所以MCWrapper有一个类型为static void的成员函数receiveMessageThread。我如何传递对托管类实例的引用,并使用System :: Threading方法将其作为线程启动?据我所知,这是我需要做的,使它能够访问MCWrapper的其他非静态成员函数(它本质上是一个大型存储类)。我现在已经玩了一天,并且一直被卡住了。

在控制台应用程序中,我创建托管类,如下所示:

MCWrapper ^mc = gcnew MCWrapper();

谢谢!

1 个答案:

答案 0 :(得分:1)

像往常一样,当我问一个问题时,我立即找到答案。也许这会对某人有所帮助。

创建对所需对象的引用:

MCWrapper^ mc = gcnew MCWrapper;

启动一个在启动时调用成员函数的线程。

Thread^ rThread = gcnew Thread(gcnew ThreadStart(mc, MCWrapper::receiveMessageThread));

然后启动线程。

rThread->Start();

一旦你知道就很容易。如果有人有更好的方法,请告诉我。

干杯,