zoukankan      html  css  js  c++  java
  • 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);

          }

       }

    }

  • 相关阅读:
    使用binlog恢复数据
    Xtrabackup增量差量备份
    解压腾讯DB冷备的xb文件
    mysqldump
    xtrabackup备份选项
    MySQL的各种日志
    MySQL的事务相关概念
    LVS(dr)+keepalived
    MeasureSpec学习
    网络通信机制:Socket、TCP/IP、HTTP
  • 原文地址:https://www.cnblogs.com/mol1995/p/5965042.html
Copyright © 2011-2022 走看看