for (int i = 1; i < 100; i++)
            {
                Thread m_thread;   
                AA=i ; // AA是全局变量    
                m_thread = new Thread(new ThreadStart(A));                
                m_thread.Start(); 
            }
 void A()
        {
            Console.WriteLine(AA.ToString());// AA是全局变量 
        }

解决方案 »

  1.   

    Thread m_thread; {  
                    
                    m_thread = new Thread(new ThreadStart(A));                
                    m_thread.Start(); 
                    }
    void A()
            {
                for(int i=1; i<101;)
                Console.WriteLine( i.ToString() ); 
              
                m_thread.Ar...//不记得了就是把这个线程禁止的方法
            }
      

  2.   

    m_thread.Ar...//不记得了就是把这个线程禁止的方法
    ==>
    m_thread.Abort();
      

  3.   

    using System;
    using System.Threading;class Demo
    {
    static int AA;
    static void Main()
    {
    Thread m_thread;  
    for (int i = 1; i < 100; i++)
    {
    AA = i ; // AA是全局变量    
    m_thread = new Thread(new ThreadStart(A));                
    m_thread.Start(); 
    Thread.Sleep(10);
    }
    }
    static void A()
    {
    Console.WriteLine(AA.ToString());// AA是全局变量 
    }}
      

  4.   

    amandag(高歌) 
    ??????????你的内存有多大
      

  5.   

    我不是要输出饿结果
    我举这个例子只是简化问题而已
    我现在要做的是线程扫描TREEVIEW的节点
    扫描的的同时调用另一个线程来获取节点的值(传的参数就是节点值),然后输出我现在的问题是输出的不是按顺序的,
    应该怎摸办
    我尝试用LOCK()锁住(改变参数和输出节点)的代码,但是没用
      

  6.   

    //这是输出节点的值  
    public void print(string LinkUrl)
           { 
               lock (LinkUrl)
               {
                 输出节点值;                       
               }      
           }
    //线程函数
    void A()
            {                    节点集=获得节点集();
                   foreach(每个节点)
                     {
                        print(节点.text);
                      }
            }
    //启动线程
                Thread m_thread;
                m_thread = new Thread(new ThreadStart(A));            
                m_thread.Start();
      

  7.   

    Sample code as follows:
    private Mutex mUnique = new Mutex();//Define it as class memberfor (int i = 1; i < 100; i++)
    {
    Thread m_thread;
    mUnique.WaitOne();
    AA=i ; // AA是全局变量
    mUnique.ReleaseMutex();
    m_thread = new Thread(new ThreadStart(A));
    m_thread.Start();
    }
    void A()
    {
    mUnique.WaitOne();
    Console.WriteLine(AA.ToString());// AA是全局变量
    mUnique.ReleaseMutex();
    }
      

  8.   

    改成如下:
    private Mutex mUnique = new Mutex();//Define it as class memberfor (int i = 1; i < 100; i++)
    {
    Thread m_thread;
    mUnique.WaitOne();
    AA=i ; // AA是全局变量
    m_thread = new Thread(new ThreadStart(A));
    m_thread.Start();
    }
    void A()
    {
    Console.WriteLine(AA.ToString());// AA是全局变量
    mUnique.ReleaseMutex();
    }
      

  9.   

    Sorry!for (int i = 1; i < 100; i++)
    {
    Thread m_thread;
    AA=i ; // AA是全局变量
    m_thread = new Thread(new ThreadStart(A));
    m_thread.Start();
    m_thread.Join();
    }
    void A()
    {
    Console.WriteLine(AA.ToString());// AA是全局变量
    }