极简的多线程操作:
private void button1_Click(object sender, EventArgs e)
{
// 运用新线程执行 Function()
Thread fThread = new Thread(new ThreadStart(Function));
fThread.Start();
}
如果在Function()函数中需要跨线程调用控件,一个极简的方式是在初始化窗体时,关闭跨线程调用检查,如下:
public Form1()
{
InitializeComponent();
// 不针对跨线程调用控件进行检查
Control.CheckForIllegalCrossThreadCalls = false;
}
如果调用的函数需要传递参数,则使用如下方式开辟多线程:
private void Function(object data)
{
// 解析参数
int parameter_i = (int)data;
.....
}
private void button1_Click(object sender, EventArgs e)
{
int i;
int Num = 6;
for (i = 0; i < Num; i++)
{
Thread Thread_i = new Thread(new ParameterizedThreadStart(Function));
Threadi.Start(i);
}
}