1.创建一个实现Runbale接口的类,使用带参数的Thread构造器来创建Thread对象.(这个参数就是实现Runbale接口类的一个对象!)
public class Calculator implements Runnable {
public static void main(String[] args) {
for (int i=1; i<10;i++){
Calculator calculator = new Calculator(i);
Thread t = new Thread(calculator);
t.start();
}
}
private int number;
public Calculator(int number) {
this.number = number;
}
@Override
public void run() {
for (int i=1;i<=10;i++){
System.out.printf("%s: %d * %d = %d\n",Thread.currentThread().getName(),number,i,i*number);
}
}
}
2.继承Thread类,并且覆盖run方法
public class Calculator2 extends Thread {
public static void main(String[] args) {
for (int i=1; i<10;i++){
Thread t = new Calculator2(i);
t.start();
}
}
private int number;
public Calculator2(int number) {
this.number = number;
}
@Override
public void run() {
for (int i=1;i<=10;i++){
System.out.printf("%s: %d * %d = %d\n",Thread.currentThread().getName(),number,i,i*number);
}
}
}
本文通过两个示例展示了Java中创建线程的两种常见方法:一是实现Runnable接口并通过Thread构造器创建线程;二是直接继承Thread类并覆写run方法。每个示例都包含了一个名为Calculator的基本类,用于演示如何进行线程创建及运行。
2万+

被折叠的 条评论
为什么被折叠?



