我想知道是否有什么方法可以使方法“超时”或如果什么都没有返回就停止执行。例如,在下面提供的代码中,我正在通过一种方法来传递BigInteger,该方法确定整数是否可能是素数。当我调用该方法时,我正在使用一个大整数数组来多次测试该方法。
class PrimeChecker {
public static bool isPrime(BigInteger num) {
if (num <= 1)
{
return false;
}
if (num == 2)
{
return true;
}
for (int i = 3; i <= num / 2; ++i)
{
if (num % i == 0)
{
return false;
}
}
return true;
}
}
}
但是我遇到了一些num实例的问题,例如:
35201546659608842026088328007565866231962578784643756647773109869245232364730066609837018108561065242031153677(是Prime)
被困在永远的感觉中。在我的主类或类本身中,有没有一种方法可以让我在一段时间后停止此函数,然后继续执行数组中的下一个Big Integer。
*我知道该类本身可能并不完美,很可能是导致该测试永久循环的原因。但是,我只想查看如果以x秒/分钟为单位进行计算,是否可以停止该功能。