C++\CLI 线程启动

C++\CLI ThreadStart

我正在阅读有关多线程的教程。但是,本教程是用 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,这让我感到困惑(我是编程新手)。

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

提前致谢。

等效的 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();
}