`

用线程来解决性能问题(打印10000000以内的素数)

阅读更多
引用

package com.java.day01;

import java.util.ArrayList;
import java.util.List;

public class Zhishu {

	public static void zhiShu(int end, int fen) {
		class Run implements Runnable {
			int start;
			int end;
			public void run() {
				outer : for (int i = start; i <= end; i++) {
					for (int j = 2; j < Math.sqrt(i) + 1; j++) {//减少循环次数;
						if (i % j == 0) {
							continue outer;
						}
					}
					System.out.println(i);
				}
			}
		}
		// 把得到的素数,分N个放到list集合当中然后循环打印;
		List<Run> list = new ArrayList<Run>();
		int size = end / fen;
		for (int i = 0; i < fen; i++) {
			int e = i * size;
			Run r = new Run();
			r.start = e;
			if (i == 0)
				r.start = 2;
			r.end = e + size - 1;
			if (i == fen - 1)
				r.end = end;
			list.add(r);
		}
		for (Run r : list) {
			new Thread(r).start();
		}

	}
	public static void main(String[] args) {
		zhiShu(10000000, 20);
	}

}



分享到:
评论

相关推荐

    求100以内的素数

    ### 知识点详解 #### 一、素数的基本概念 - **定义**:素数(Prime Number)是指在大于1的自然数中,除了1和它本身...通过以上内容的学习,我们可以更好地理解和应用Java语言来解决实际问题,特别是在数学计算领域。

    Java输出n以内的所有素数

    在Java中,我们可以通过编写程序来找出指定范围内所有的素数。本篇文章将详细讲解如何利用Java实现这一功能,特别是通过“素数筛”算法。 一、素数筛简介 素数筛是一种寻找素数的高效算法,最著名的莫过于...

    java程序求素数和并输出结果

    在IT领域,特别是编程语言Java中,涉及到数学计算与...综上所述,虽然简单的代码实现了求解10000以内素数和的功能,但通过算法优化和扩展思考,我们可以进一步提高代码的性能和实用性,这也是IT领域不断追求的目标。

    哥德巴赫猜想 Python语言

    4. **并行处理**:对于较大的数值范围,可以考虑使用多线程或多进程技术来加速计算过程。 #### 结论 通过上述Python代码,我们可以有效地验证哥德巴赫猜想的部分内容。尽管目前该猜想尚未得到证明,但这种编程实践...

    深圳东软的笔试题

    以上三个题目涉及了单例模式的设计、质数的判定及打印、字符串的匹配和统计等基本技能,对于即将参加深圳东软面试的程序员来说是非常好的练习材料。希望通过对这些题目的理解和实践,能够帮助大家更好地准备面试。

    C++笔试题大全

    1. **打印100以内的素数**:这个问题考察了对循环、条件判断以及素数定义的理解。素数是只能被1和自身整除的大于1的自然数。 2. **m和n的乘积**:考察基本算术操作和变量声明。 3. **10个地址的打印与比较**:这...

    delphi 开发经验技巧宝典源码

    0053 解决程序的死锁问题 34 0054 怎样实现接口委托 34 0055 在Delphi中使用汇编 35 0056 为程序设置版本和帮助信息 36 0057 动态链接库的创建与调用 36 0058 String类型和Pchar类型的用法和区别 36 ...

    delphi 开发经验技巧宝典源码06

    0053 解决程序的死锁问题 34 0054 怎样实现接口委托 34 0055 在Delphi中使用汇编 35 0056 为程序设置版本和帮助信息 36 0057 动态链接库的创建与调用 36 0058 String类型和Pchar类型的用法和区别 36 ...

Global site tag (gtag.js) - Google Analytics