废话不多说 先请看下面代码:
if (DataType[i]==3)
                            {
                                MapLiner.bmp_map = null;
                                Bitmap bmp_map = liner.GetBmp(pathTest[i], DataType[i], false, false, m_sysCfg.GetFillLonLatShow, false); //这句话是从硬盘中读取数据
                                drawSlopePic(bmp_map, bmp, nLocationH, "ffffffff", 255);;
                            } //这句是让cpu将读取出来的第一组数据处理并绘图
                    if (DataType[i]==4)
                            {
                        
                                MapLiner.bmp_map = null;
                                Bitmap bmp_map = liner.GetBmp(pathTest[i], DataType[i], m_sysCfg.GetFillShow, false, m_sysCfg.GetFillLonLatShow, m_sysCfg.GetFillIsoLineShow);//这句话是从硬盘中读取第二组数据
                                 drawSlopePic(bmp_map, bmp, 100f, "ffffffff", 25);//这个是对上面读出来的第二组数据进行处理并绘图
                            }现在我想要在处理第一组数据的处理的同时就去读取第二组数据,而不改变if(datatype[i]==3)那层最大的判断结构
请问如何实现?
最好给出代码
谢谢各位

解决方案 »

  1.   


    if (DataType[i]==4)
    {
          // 里面的东西装到一个方法(函数)里
           Doit();
    }
    //然后在
    if (DataType[i]==3) 
    {
         // 最后面跟上Thread thr=new  Thread(new ThreadStart(Doit));
                     thr.start();
    }
      

  2.   

    if (DataType[i]==3)和if (DataType[i]==4)能共存?
      

  3.   

    不能共存的
    但是这个段代码被多次调用的时候会有DataType[i]==3
    DataType[i]==4的情况你提醒了我 是不是应该在这个函数被调用时去建立线程??