线程A
线程B线程A执行一段时间,线程A停止特定时间(比如是20秒),  然后线程B开始执行,如果线程B在这20秒钟时间内没有执行完,就结束此线程,线程A继续执行; 如果线程B在20秒内提前执行完毕,会通知线程A继续执行,并应用线程B执行的结果

解决方案 »

  1.   

    用一个 boolean来做个标记 让线程停止getState().euqals(TERMINATED)判断线程是否停止 就是判断是否执行完了
      

  2.   

    主要是用到Thread类的sleep()方法就可以了public class Thread1
    {
       public static void main(String[] args)
       {
       compute A=new compute();
       compute1 B=new compute1();
       A.start();
       B.start();
       }
    }
    class compute extends Thread
    {
    int i=0;
    public void run()
    {
    for(int i=0;i<10;i++)
    {
    System.out.println(i);
    try
    {
    sleep(20000);
    }
    catch(Exception e){}
    }
    }
    }
    class compute1 extends Thread
    {
    public void run()
    {
    for(int i=0;i<10;i++)
    {
    System.out.println("这个数字是:"+i);
    try
    {
    sleep(10000);
    }
    catch(Exception e){}
    }
    }
    }
      

  3.   

    看看关于java.util.concurrent.FutureTask<V>这个类的api,完全能解决这个问题