今天想在C#中动态的创建多个线程,不知道如何是好?

解决方案 »

  1.   

    thdProduce = new Thread(new ThreadStart(this.ThreadProduce));
    thdConsume = new Thread(new ThreadStart(this.ThreadConsume));
    if(thdProduce != null)
    thdProduce.Start();
    if(thdConsume != null)
    thdConsume.Start();
    private void ThreadProduce()
    {
    while(true)
    {
    rwl.AcquireWriterLock(Timeout.Infinite);
    while(m_iCounter < 1000)
    {
    m_iCounter++;
    labProduce.Text = m_iCounter.ToString();
    Thread.Sleep(10);
    }
    rwl.ReleaseWriterLock();
    }
    }
    // 消费者线程函数
    private void ThreadConsume()
    {
    while(true)
    {
    rwl.AcquireReaderLock(Timeout.Infinite);//无限长时间等待Infinite
    while(m_iCounter > 0)
    {
    m_iCounter--;
    labConsume.Text = m_iCounter.ToString();
    Thread.Sleep(10);
    }
    rwl.ReleaseReaderLock();
    }
    }
      

  2.   

    勤快点 google 百度随便搜搜就有一大堆!不过很多都重复的!
      

  3.   

    上面的仁兄说的是用户级线程。如果用Delegate的话,可以用beginInvoke(异步调用)创建系统级线程,由DonNET框架来维护,可能会安全点!