2014.2.24 带参数多线程实例

Posted mol1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2014.2.24 带参数多线程实例相关的知识,希望对你有一定的参考价值。

定义全局变量

ParameterizedThreadStart ParaStart; //表示带参数的多线程

Thread[] tds = new Thread[10]; //运行时再实例化

static object objLock = new object(); //多线程锁

 

//运行中

ParaStart = new ParameterizedThreadStart(ReadPic);

for (int i = 0; i < 10; i++) //创建10个线程处理照片

{

  tds[i] = new Thread(ParaStart); //初始化每个线程

  tds[i].Start(i); //执行

}

 

 

public void ReadPic(object num)

{

   int cur = (int)num;

 

   for (int i = 0; i < pts[cur].Count; i++)

  {

      string path = pts[cur][i].ToString();

      string name = path.Substring(path.LastIndexOf("\\") + 1);

 

      lock (objLock) //此多线程锁可防止返回的s与调用的guline不一致的情况发生

      {

      byte[] imageData = TransPIc(path);

      MemoryStream ms = new MemoryStream(imageData);

      Image img = Image.FromStream(ms);

      imgs.Add(img);

      }

   }

}

以上是关于2014.2.24 带参数多线程实例的主要内容,如果未能解决你的问题,请参考以下文章

C#中的多线程问题,为啥带参数的方法不行,不带参数的可以?

C#多线程委托ParameterizedThreadStart应用

带参数的多线程如何去写?

C# 中怎么使用带参数的多线程呢

c语言实现多线程

C# 线程管理:多线程创建方式