编译时出错:threadsmethods.java使用或覆盖不推荐使用的API。用xlint重新编译

时间:2015-08-09 12:26:39

标签: java

请回答我的问题需要帮助。用xlint重新编译错误。 Java使用或覆盖不推荐使用的API。这是我第三次尝试发布这个问题,如果这个问题在这次发布时仍然无法发布,请回答我的问题

class a extends Thread {
  public void run() {
    for(int i=1;i<=5;i++) {
      if(i==1) {
        yield();
      }
      System.out.println("message from a "+i);
    }
    System.out.println("exit from a");
  }
}

class b extends Thread {
  public void run() {
    for(int i=1;i<=5;i++) {
      System.out.println("message from b "+i);
      if(i==3)
        stop();
    }
    System.out.println("exit from b");
  }
}

class c extends Thread {
  public void run () {
    for(int i=1;i<=5;i++) {
      System.out.println("message from c" +i);
      if(i==1)
      try {
        sleep(1001); 
      }
      catch(Exception e) {
      }
    }
    System.out.println("exit from c");
  }
}

class threadsmethods {
  public static void main(String args []) {

    System.out.println("started Thread a");

    new a().start();

    System.out.println("Thread b started");

    new b().start();

    System.out.println("Thread c started");

    new c().start();

    System.out.println("end of main Thread");
  }
}

2 个答案:

答案 0 :(得分:1)

线程的stop方法已被弃用,因此您会看到警告。

如果你只想在3次迭代后停止线程,那么你应该从循环中断开,你将退出run方法,这将自动停止你的线程。而不是使用停止使用像:

if(i==3)
    break;

一旦循环退出,这将使你的线程正常退出。

答案 1 :(得分:0)

就我而言,我只是重新启动模拟器,一切正常。