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();
}
我正在阅读有关多线程的教程。但是,本教程是用 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();
}