我正在阅读有关多线程的教程。但是,本教程是用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,这让我感到困惑(我是编程新手)。
更新:我想创建一个进度条,可以显示计算组合的巨大循环的计算进度。计算循环时应用程序被冻结,这就是我需要多线程的原因。
提前致谢。
答案 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();
}