在接到一个标志位后,程序再接着往下运行。这段代码该怎么写?
主程序没在线程里面跑。

解决方案 »

  1.   

    要等的线程
    obj.wait();
    通知人家的线程
    obj.notify();具体例子搜一下
      

  2.   

    两种做法
    一种用线程,wait, nofifyAll
    一种用循环,while (! your_flag) {//do nothing and Thread.yield();}
      

  3.   

    一个线程有什么等不等的问题。前面(或里面)的代码没结束,后面(外面)的代码当然得等
    它说它没线程——或者准确的说法是,只有一个main线程。而且你第二种方法太耗资源了。
      

  4.   

    如果不用线程等待,只有第二种方法,用Thread.yield()释放CPU,还可以的,或者直接sleep()一段时间
      

  5.   

    while (!yourFlag) 
    {
                try
                {
                    // 每等1秒检查一下标志位
                    Thread.sleep(1000);
                }
                catch (InterruptedException e)
                {
                    
                }
    }
      

  6.   

    学习中
    wait()
    notifyAll()
    notity()
    sleep()
    这些可以控制线程