C# 多线程开发


原创:转载请说明出处,谢谢。

View Code
for (int i = 0; i < 10; i++)
{
t = new Thread(new ThreadStart(InitThread));
t.Start();
}

上面的调用线程方法是无参数的,但是在现实开发中,会经常使用到参数,而且参数还不止一个

View Code
for (int i = 0; i < 10; i++)
{
t = new Thread(new ParameterizedThreadStart(InitThread2));
t.Start(i);
}
View Code
private void InitThread2(object obj)        {    
        for (int i = 0; i < 100; i++)            {     
           Console.WriteLine(obj.ToString() + "" + i);    
        }       
 }        
private void InitThread(){
            for (int i = 0; i < 100; i++)
            {
                Console.WriteLine(i);
            }
        }


看InitThread2方法,有个Object参数,此参数有了,你想传神马东西,都新建一个对象直接保存起来传进去

还有,多线程开多了,记得做完事情要关闭

View Code
 public class ThreadHelper
{
public static List<Thread> threadList = new List<Thread>();

public static void dispose() {
foreach (Thread item in threadList)
{
if (!item.IsAlive) {
item.Abort();
}
}
}
}

在实例化线程的时候,把线程丢到一个静态对象的list集合中,然后在程序中丢个timer等即时刷新dispose。。

你可能感兴趣的:(多线程)