带参数和不带参数的多线程

好久没有用多线程了,好多都忘记了
记一下
带object参数的ParameterizedThreadStart:
public void Start()
{
    for (int index = 0; index < 10; index++)
    {

        #region -- 准备参数 --
        List<int> list = new List<int>();
        for (int param = index; param < index + 10; param++)
        {
            list.Add(param);
        }
        #endregion

        Thread thread = new Thread(new ParameterizedThreadStart(InitThreadFunc));
        thread.Start(list);
    }
    LogHelper.WriteLine("Over");

}

/// <summary>
/// 执行的函数
/// </summary>
/// <param name="list"></param>
private void InitThreadFunc(object list)
{
    if (list is List<int>)
    {
        List<int> ll = list as List<int>;
        int result = 0;
        foreach (int n in ll)
        {
            result += n;
        }
        LogHelper.WriteLine(result);
    }
}

第二种:


不带参数的 InitThreadFunc


public void Start()
{

    for (int index = 0; index < 10; index++)
    {

        Thread thread = new Thread(new ThreadStart(InitThreadFunc));
        thread.Start();
    }
    LogHelper.WriteLine("Over");

}


private void InitThreadFunc() { }
posted @ 2010-10-11 14:31  双击  阅读(258)  评论(0)    收藏  举报