http://www.verejava.com/?id=16992909097867
package com.thread;
/**
注意:
1. 如果要启动一个线程必须调用,start()方法
2. 线程同时运行其实是,CPU分配给每个线程一段时间来顺序执行每个线程
3. 因为java是单继承的,所以为了提高可扩展性,一般使用第二种实现Runnable
的方式
概念上 可以理解为 他们 main MyThread 是同时进行
*/
public class TestRunnable {
public static void main(String[] args) {
//实列话一个线程
MyThread2 t = new MyThread2();
Thread thread = new Thread(t, "汽车线程");
thread.start();//启动线程, run() 会自动调用
Thread thread2 = new Thread(t, "火车线程");
thread2.start();//启动线程, run() 会自动调用
try {
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName() + i);
Thread.sleep(1000);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
//Alt+Shit+S 可以找到父类的方法
class MyThread2 implements Runnable {
@Override
public void run() {
try {
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName() + i);
Thread.sleep(1000);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}