Java 多线程的两种简单实现方法
2012-09-20 01:08
871 查看
简述:
1. 简单用一下Java的多线程的两种粗略的实现方法
继承Thread和实现Runnable接口
实现:
1. 随机给一个自然数n, 分发给多个线程, 每个线程计算n项的Fibonacci数列的和,计算完成后输出,
1)继承Thread类实现,并重写run()方法
2)实现Runnable接口中run方法
结论,从这个测试上看两者在多线程的实现上都可以完成,任务的分发,目前没什么区别
两者输出相似都如:id是线程的id, 后面的数字是Fibonacci数列n个项的和
1. 简单用一下Java的多线程的两种粗略的实现方法
继承Thread和实现Runnable接口
实现:
1. 随机给一个自然数n, 分发给多个线程, 每个线程计算n项的Fibonacci数列的和,计算完成后输出,
1)继承Thread类实现,并重写run()方法
package test.multithread.Fibonacci; import java.util.Random; public class TestA_1 extends Thread{ private int n; private static int taskCount = 0; private final int id = taskCount++; public TestA_1(int n) { this.n = n; } public static void main(String[] args){ for(int i = 0;i < 10;i++){ Random random = new Random(); Integer x = random.nextInt(100); new TestA_1(x).start(); } } @Override //run implement the counting of different n public void run() { int sum = 0; if(n == 0 || n == 1){ sum += n; }else{ sum = 1; for(int i = 1;i < n;i++){ sum += i; } } System.out.println("id: " + id + ",\t" + n + ": " + sum); Thread.yield(); // now the CPU could transfer the thread to a new Thread } }
2)实现Runnable接口中run方法
package test.multithread.Fibonacci; import java.util.Random; public class TestA_2 implements Runnable{ private int n; private static int taskCount = 0; private final int id = taskCount++; public TestA_2(int n) { this.n = n; } public static void main(String[] args){ for(int i = 0;i < 10;i++){ Random random = new Random(); Integer x = random.nextInt(100); new TestA_2(x).run(); } } @Override //run implement the counting of different n public void run() { int sum = 0; if(n == 0 || n == 1){ sum += n; }else{ sum = 1; for(int i = 1;i < n;i++){ sum += i; } } System.out.println("id: " + id + ",\t" + n + ": " + sum); Thread.yield(); // now the CPU could transfer the thread to a new Thread } }
结论,从这个测试上看两者在多线程的实现上都可以完成,任务的分发,目前没什么区别
两者输出相似都如:id是线程的id, 后面的数字是Fibonacci数列n个项的和
相关文章推荐
- 【Java并发编程】实现多线程的两种方法
- java创建多线程的两种方法(继承Thread类/实现Runnable接口)
- Java实现多线程的两种方法
- Java传统多线程的实现有两种方法,继承Thread类或者实现Runnable即可.线程启动时调用start()方法.
- java实现多线程的两种方法
- java实现多线程的两种方法的比较
- java下实现多线程的两种方法
- JAVA多线程简单实现方法
- java并发编程之:多线程实现单例的两种方法
- java实现多线程的两种方法
- java多线程实现的常用两种方法
- java实现多线程的两种方法
- Java中实现多线程有两种方法的区别:继承Thread类、实现Runnable接口
- java多线程的等待和通知机制,两种实现方法
- java多线程学习一:实现多线程的两种方法
- 一个关于多线程的简单例子(两种实现方法)
- JAVA实现多线程的两种方法实例分享
- JAVA实现多线程的两种方法
- java实现多线程有两种方法:1、集成Thread类、2、实现Runnable接口
- java多线程㈠—实现线程的两种方法