C ++ \ CLI ThreadStart

时间:2016-12-13 05:12:13

标签: multithreading c++-cli

我正在阅读有关多线程的教程。但是,本教程是用C#编写的。遗憾的是,我的应用程序是用C ++ \ CLI编写的。我想知道以下C#代码的C ++ \ CLI中的等效代码:

private void button1_Click(object sender, EventArgs e)
{
Thread backgroundThread = new Thread(
    new ThreadStart(() =>
    {
        Thread.Sleep(5000);
        MessageBox.Show("Thread completed!");
    }
));
backgroundThread.Start();
}

这个C#代码使用LINQ,这让我感到困惑(我是编程新手)。

更新:我想创建一个进度条,可以显示计算组合的巨大循环的计算进度。计算循环时应用程序被冻结,这就是我需要多线程的原因。

提前致谢。

1 个答案:

答案 0 :(得分:1)

等效的C ++ / CLI代码如下:

void WorkCompleted()
{
    Thread::Sleep(5000);
    MessageBox::Show("Thread completed!");

}
void button1_Click(System::Object^  sender, System::EventArgs^  e) 
{
    Thread^ backgroundThread = gcnew Thread(gcnew ThreadStart(this, &Form1::WorkCompleted));
    backgroundThread->Start();
}