2015-08-09 21 views
-2

请回答我的问题需要help.getting错误重新编译与xlint。 Java使用或覆盖弃用的API。这是第三次在尝试发布此问题,仍然无法发布,如果这个问题得到张贴这一次,请回答我的问题编译时出错:threadsmethods.java使用或覆盖弃用的API。使用xlint重新编译

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"); 

}} 

回答

1

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

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

if(i==3) 
    break; 

一旦循环将退出,这将使您的线程优雅地退出。

+0

谢谢你。但是如果我想要使用停止方法。我怎么做?请回答 – user187744

+1

这只是一个警告,而不是一个错误,所以你仍然可以继续前进。话虽如此,'stop'方法有一些问题,因此不推荐使用。 – SMA

+0

谢谢你。这解决了我的问题。如果你不介意回答。什么是depreacated ?.在java中是一个初学者 – user187744