方式一:继承Thread类
具体步骤为:
1.写一个类继承Thread类,重写其中的run方法,方法体的内容就是线程体的内容
2.在主函数内实例化一个线程对象
3.线程对象调用start方法。
具体实现程序:
package cn.hpu.thread1;
class MyThread extends Thread{
public MyThread(String name) {
super(name);
}
public void run() {
for(int i=1;i<=10;i++) {
System.out.println(getName()+"正在运行"+i);
}
}
}
public class ThreadTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyThread mt1=new MyThread("线程一");
MyThread mt2=new MyThread("线程二");
mt1.start();
mt2.start();
}
}
方式二:实现Runnable接口
1.实现Runnable接口,实现接口中的run方法
2.实例化一个实现类的对象,将该对象作为Thead类的参数
3.创建一个线程对象,该对象调用start方法
实现代码:
package cn.hpu.thread1;
class MyThread2 implements Runnable{
int i=0;
public void run() {
while(i<10) {
System.out.println(Thread.currentThread().getName()+"正在打印"+(i++));
}
}
}
public class PrintRunnable{
public static void main(String[] args) {
// TODO Auto-generated method stub
MyThread2 mt=new MyThread2();
Thread t1=new Thread(mt);
t1.start();
Thread t2=new Thread(mt);
t2.start();
}
}