C# 多线程运用

没有用过多线程,所以没有过多的了解操作原理以及怎么编写多线程

后来才只知道将一个传入的集合分别拆开为N个集合来进行使用

//分线程执行
public static void OperateThread(object Sales)
{
    //Sales 传入的数据集合
    List<TradeSales> sales=Sales as List<TradeSales>();
    if(sales==null)
        sales=new List<TradeSales>();
    //指定线程数量
    long ThreadCount=10;
    //指定条数
    long pagesize=1;
    for(int i=0;i<ThreadCount;i++)
    {
        if((sales.Count+i)%ThreadCount==0)
        {
             pagesize=(sales.Count+i)/ThreadCount;
             break;
        }
    }


    HashTable ht=new HashTable();    

    long pageindex=1;
    List<TradeSales> list1=new List<ThreadSales>();
    List<TradeSales> list2=new List<ThreadSales>();
    List<TradeSales> list3=new List<ThreadSales>();
    List<TradeSales> list4=new List<ThreadSales>();
    List<TradeSales> list5=new List<ThreadSales>();
    List<TradeSales> list6=new List<ThreadSales>();
    List<TradeSales> list7=new List<ThreadSales>();
    List<TradeSales> list8=new List<ThreadSales>();
    List<TradeSales> list9=new List<ThreadSales>();
    List<TradeSales> list10=new List<ThreadSales>();

    for(int i=0;i<sales.Count;i++)
    {
        swith(pageindex)
        {
            case 1: list1.Add(sales[i]);break;
            case 2: list2.Add(sales[i]);break;
            case 3: list3.Add(sales[i]);break;
            case 4: list4.Add(sales[i]);break;
            case 5: list5.Add(sales[i]);break;
            case 6: list6.Add(sales[i]);break;
            case 7: list7.Add(sales[i]);break;
            case 8: list8.Add(sales[i]);break;
            case 9: list9.Add(sales[i]);break;
            case 10: list10.Add(sales[i]);break;
        }

         if(((i+1)%pageindex==0)|| (i+1)==sales.Count)
        {
           Thread th=new Thread(new ParameterizedThreadStart(ShouDongXiaZaiShangChengOrderParts));
            switch(pageindex)
            {
                  case 1: th.Start(list1);break;
                  case 2: th.Start(list2);break;
                  case 3: th.Start(list3);break;
                  case 4: th.Start(list4);break;
                  case 5: th.Start(list5);break;
                  case 6: th.Start(list6);break;
                  case 7: th.Start(list7);break;
                  case 8: th.Start(list8);break;
                  case 9: th.Start(list9);break;
                  case 10: th.Start(list10);break;
             }
        }

        pageindes++;
    }
}
View Code

 

posted @ 2016-01-30 15:44  如此低调的男人  阅读(159)  评论(0编辑  收藏  举报