线程不能sleep。进程可以。
如果你要操作线程,最好把线程变为进程,就是再编一个程序。哈哈!

解决方案 »

  1.   

    http://www.xbee.org/pub/Temp/csharp/thread.cs
      

  2.   

    winmain()
    {
      //初始化
      threadA=new Thread(new ThreadStart(threadACode));
      threadA.Start();
      while(threadA.threadstate!=threadstate.Aborted)//死循环,等待线程A结束
        Thread.Sleep(1000)//等待1秒
    }void threadACode()
    {
      threadB=new Thread(new ThreadStart(threadBCode));
      threadB.Start();
      while(threadB.threadstate==threadstate.Aborted)//死循环,等待线程B结束
        Thread.Sleep(1000)//等待1秒
    }void threadBCode()
    {
    //
    }
      

  3.   

    声明一个Mutex,如
    static Mutex switchFlag;//construct
    switchFlag = new Mutex(true);thread1()
    {
    dosomething();
    switchFlag.ReleaseObj();
    }thread2()
    {
    // wait for thread1
    switchFlag.WaitOne();
    }收工。   没有测试。
      

  4.   

    参考一下吧:winmain()
    {
      //初始化
      threadA=new Thread(new ThreadStart(threadACode));
      threadA.Start();
      while(threadA.threadstate!=threadstate.Aborted)//死循环,等待线程A结束
        Thread.Sleep(1000)//等待1秒
    }void threadACode()
    {
      threadB=new Thread(new ThreadStart(threadBCode));
      threadB.Start();
      while(threadB.threadstate==threadstate.Aborted)//死循环,等待线程B结束
        Thread.Sleep(1000)//等待1秒
    }void threadBCode()
    {
    //
    }
      

  5.   

    建议使用 Mutex
    死循环判断 Mutex 状态,同意 sunruping(圣诞老人) 和 jimh(jimmy),turnmissile(会翻跟头的导弹)
      

  6.   

    你可以使用join方法,它会阻塞下面的代码,直到另一线程结束:在A线程中:
    {
    ...
    B.join();
    ...        
    }在Main线程中:
    {
    ...
    A.join();
    ...
    }==结贴
      

  7.   

    你可以使用join方法,它会阻塞下面的代码,直到另一线程结束:在A线程中:
    {
    ...
    B.join();
    ...        
    }在Main线程中:
    {
    ...
    A.join();
    ...
    }
      

  8.   

    就差一步了,如果让主窗口(mainform)不能获取焦点在其创建的线程没有完成前?????成功立即给分
      

  9.   

    http://www.xbee.org/pub/Temp/csharp/thread.cs
    看懂了,顶一下
      

  10.   

    问题得到解决,需要使用到ApplicationContext类,解决方案还是比较复杂的。