1、继承Thread类;
2、实现Runnable接口;
一、第一种方法:
package thread;
/**
* @author : suyuyuan
* @date :2016年6月30日 下午5:24:49
* @version 1.0
*/
public class MyThread extends Thread {
private String name;
public MyThread(String name) {
this.name = name;
}
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(name + ":" + i);
}
super.run();
}
}
//
package thread;
/**
* @author : suyuyuan
* @date :2016年6月30日 下午5:24:05
* @version 1.0
*/
public class ThreadTest {
public static void main(String[] args) {
MyThread t1=new MyThread("A");
MyThread t2=new MyThread("B");
// t1.run();
// t2.run();
//线程的启动是通过start()方法
t1.start();
t2.start();
}
}
二、第二种方法:
package thread;
/**
* @author : suyuyuan
* @date :2016年6月30日 下午5:35:13
* @version 1.0
*/
public class MyRunnable implements Runnable{
private String name;
public MyRunnable(String name) {
this.name=name;
}
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(name + ":" + i);
}
}
}
//
package thread;
/**
* @author : suyuyuan
* @date :2016年6月30日 下午5:24:05
* @version 1.0
*/
public class ThreadTest {
public static void main(String[] args) {
MyRunnable r1 = new MyRunnable("A");
MyRunnable r2 = new MyRunnable("B");
Thread t1 = new Thread(r1);
Thread t2 = new Thread(r2);
t1.start();
t2.start();
}
}