一、题目
创建两个分线程,让其中一个线程输出1-100之间的偶数,另一
个线程输出1-100之间的奇数。
二、代码实现
- 继承Thread类:
1、创建继承thread类的子类
2、重写run方法
3、创建thread类子类对象
4、通过此对象调用start方法
//1、创建继承thread类的子类
class MyThread1 extends Thread{
//2、重写run方法
@Override
public void run() {
for (int i=0;i<100;i+=2)
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
class MyThread2 extends Thread{
@Override
public void run() {
for (int i=1;i<100;i+=2)
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
public class ThreadTest {
public static void main(String[] args) {
//3、创建thread类子类对象
MyThread1 thread1 = new MyThread1();
//4、通过此对象调用start方法
thread1.start();
MyThread2 thread2 = new MyThread2();
thread2.start();
}
}
- 实现Runnable接口
1、创建一个实现了Runnable接口的类
2、实现类去实现Runnable中的抽象方法:run()
3、创建实现类的对象
4、将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
5、通过Thread类的对象调用start()
//1、创建一个实现了Runnable接口的类
class MThread1 implements Runnable{
//2、实现类去实现Runnable中的抽象方法:run()
@Override
public void run() {
for (int i=0;i<100;i+=2)
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
class MThread2 implements Runnable{
@Override
public void run() {
for (int i=0;i<100;i+=2)
System.out.println(Thread.currentThread().getName() + ":" + i);
}
}
public class RunnableTest {
public static void main(String[] args) {
//3、创建实现类的对象
MThread1 myThread1 = new MThread1();
//4、将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
Thread thread1 = new Thread(myThread1);
//5、通过Thread类的对象调用start()
thread1.start();
MThread2 myThread2 = new MThread2();
Thread thread2 = new Thread(myThread2);
thread2.start();
}
}