方法一:继承Thread类,覆盖方法run(),
public class MyThread extends Thread {
int count= 1, number;
public MyThread(int num) {
number = num;
System.out.println("创建线程 " + number);
}
public void run() {
while(true) {
System.out.println("线程 " + number + ":计数 " + count);
if(++count== 6) return;
}
}
public static void main(String args[]) {
for(int i = 0; i < 5; i++) new MyThread(i+1).start();
}
}
方法二:实现Runnable接口
但是 Runnable 接口并没有任何对线程的支持,我们还必须创建 Thread 类的实例,这一点通过 Thread 类的构造函数public Thread(Runnable target);来实现。
public class MyThread implements Runnable {
int count= 1, number;
public MyThread(int num) {
number = num;
System.out.println("创建线程 " + number);
}
public void run() {
while(true) {
System.out.println("线程 " + number + ":计数 " + count);
if(++count== 6) return;
}
}
public static void main(String args[]) {
for(int i = 0; i < 5; i++) new Thread(new MyThread(i+1)).start();
}
}
也可以设置让当前线程休眠,用Thread里的sleep方法
如:
public static void main(String[] args) {
DoSomething dothing = new DoSomething();
Thread t1 = new Thread(dothing);
t1.start(); //这里就是楼主提的问题,启动线程,执行上面写的run()方法
for (int i = 0; i < 5; i++) { //主线程
System.out.println("主线程do something");
try {
Thread.sleep(1000); //休眠1秒
} catch (Exception e) {}
}
}
直接启动run()与用start()启动run方法的区别
http://blog.csdn.net/wangyangkobe/article/details/5839182 点击打开链接