利用多线程设计一个程序,同时输出 50 以内的奇数和偶数,以及当前运行的线程名
1. 使用匿名内部类
package com.lianxi.thread;
public class EvenAndOdd {
static int i=0;
public static void main(String[] args){
new Thread(){//使用匿名内部类完成
@Override
public void run() {
while (i<50){
if (i%2==0) {
System.out.println(getName() + ":" + i);
i++;
}
}
}
}.start();
new Thread(){
@Override
public void run() {
while (i<50){
if (i%2!=0) {
System.out.println(getName() + ":" + i);
i++;
}
}
}
}.start();
}
}
2. 常规方法
public class ThreadPrint extends Thread {
int k = 1;
public void run() {
int i = k;
while (i < 50) {
System.out.println(Thread.currentThread().getName() + "-----" + i);
i += 2;
}
System.out.println(Thread.currentThread().getName() + " end!");
}
public static void main(String[] args) {
ThreadPrint t1 = new ThreadPrint();
ThreadPrint t2 = new ThreadPrint();
t1.k = 1;
t2.k = 2;
t1.start();
t2.start();
}
}