有人可以请解释或举例说明如何在Java中创建具有不同功能的多个线程?Java多线程挑战
这是代码...我试图创建一个线程,该线程完成public void rnd_list()应该做的(30个随机数列表),这是一个不同于在public void中定义的任务的任务run()这是默认执行thread.start()时的方法。我想知道如何在同一个类Apple中创建一个具有不同功能的线程,在这种情况下,它是public void rnd_list()中的一个。
import java.util.Random;
public class Apple implements Runnable {
String name;
int time, number, first, last, maximum;
Random r = new Random();
Random n = new Random();
int[] array = new int[10];
public Apple(String s, int f, int l) {
name = s;
first = f;
last = l;
maximum = array[0];
}
// public void rnd_list() {
// for(int j = 0; j < 30; j++) {
// number = n.nextInt(100);
// array[j] = number;
// System.out.println("thread" + name + "array [" + j + "] =" + array[j]);
// }
// }
public void run() {
try {
for(int i = first; i < last; i++) {
if(maximum < array[i]) {
maximum = array[i];
}
}
System.out.println("maximum = " + maximum);
} catch(Exception e) {}
}
public static void main(String[] args) {
Thread t1 = new Thread(new Apple("one ", 0, 2));
Thread t2 = new Thread(new Apple("two ", 3, 5));
Thread t3 = new Thread(new Apple("three ", 6, 9));
try {
t1.start();
t2.start();
t3.start();
} catch(Exception e) {}
}
}
我编辑了一下你的问题......这是“Java”的,不是“JAVA”。然后,Sun公约(并且他们被广泛遵循)建议让类名以大写字母开头(所以我把它定义为“苹果”而不是“苹果”)。然后在Java中我们有“方法”,而不是“功能”。 – SyntaxT3rr0r 2010-05-10 06:40:13