背景:
阅读新闻
Java 下计算质数的多线程跟单线程执行代码分析
[日期:2012-11-21] 来源:Linux社区 作者:zhongweijian [字体:]
Java 下计算质数的多线程跟单线程执行代码分析
public abstract class AbstractPrimeFinder {
public boolean isPrime(final int number) {
if (number <= 1)
return false;
for (int i = 2; i <= Math.sqrt(number); i++)
if (number % i == 0)
return false;
return true;
}
public int countPrimesInRange(final int lower, final int upper) {
int total = 0;
for (int i = lower; i <= upper; i++)
if (isPrime(i))
total++;
return total;
}
public void timeAndCompute(final int number) {
final long start = System.nanoTime();
final long numberOfPrimes = countPrimes(number);
final long end = System.nanoTime();
System.out.printf("Number of primes under %d is %d\n", number,
numberOfPrimes);
System.out.println("Time (seconds) taken is " + (end - start) / 1.0e9);
}
public abstract int countPrimes(final int number);
}
public class SequentialPrimeFinder extends AbstractPrimeFinder {
public int countPrimes(final int number) {
return countPrimesInRange(1, number);
}
public static void main(final String[] args) {
new SequentialPrimeFinder().timeAndCompute(10000000);
}
}
相关资讯
本文评论 查看全部评论 (0)
尊重网上道德,遵守中华人民共和国的各项有关法律法规 承担一切因您的行为而直接或间接导致的民事或刑事法律责任 本站管理人员有权保留或删除其管辖留言中的任意内容 本站有权在网站内转载或引用您的评论 参与本评论即表明您已经阅读并接受上述条款
评论声明
最新资讯