java被覆盖或使用不推荐的API?
这是我使用两个线程计算数字阶乘的代码。 当我试图编译它时,它会说“…”使用或覆盖不推荐的API,请有人帮助解决此问题
import java.lang.Thread;
import java.util.Scanner;
class A extends Thread
{
int n;
int fact=1;
int i;
A(int x)
{
n=x;
i=n;
}
public void run()
{
if(i>0)
{
fact=fact*i;
i--;
}
else
System.out.print(fact);
suspend();
}
}
class B extends Thread
{
int i;
int n;
int fact=1;
B(int x)
{
n=x;
i=n;
}
public void run()
{
if(i>0)
{
fact=fact*i;
i--;
}
else
System.out.print(fact);
suspend();
}
}
class refact
{
public static void main(String args[])
{
int n;
System.out.print("Enter the number you want :");
Scanner a = new Scanner(System.in);
n=a.nextInt();
System.out.print("\n\n");
A newthreadA = new A(n);
newthreadA.start();
B newthreadB = new B(n);
newthreadB.start();
}
}
另外,如果其他人有更好的想法,使用两个线程计算一个数字的阶乘,请提及。 谢谢
# 1 楼答案
这里使用的是suspend(),Java中不推荐使用它
尝试使用任何布尔变量,如
executing
来停止线程# 2 楼答案
您得到的错误是因为线程。suspend已被弃用。以下是来自docs的更多信息: