public Thread[] threads; //首先是声明一个数组形式的Thread类.(个人理解)
private int Tnum=0;
private void button3_Click(object sender, EventArgs e)
{
Tnum = Int32.Parse(comboBox1.Text); //这里是欲开启的线程数量;
ThreadStart start = delegate { START(); }; //创建一个执行START()函数的委托;
for(int i=0;i<Tnum;i++)
{
threads[i] = new Thread(start);
threads[i].Start();
}
//这样就已经开启了自己定义的线程数量
}
由于多线程的操作会牵涉到同步的以及数据资源占用的问题,所以要使用
lock(this) //其中的this可以改为其它自己实例化的类.(目前只知道这些,)
{
///例:
listBox1.SelectedIndex = 0;
listBox1.Text="你好";
}
这个函数把要访问到的控件以及数据括起来以保证每次只能一个线程使用不至于程序混乱.
以上只是对多线程使用的初步认识,目前测试确实开启了多线程,但是实际使用中不知是不是代码问题还是什么,效率并没有感觉明显的提高.
有待研究..未完