package org.linuxsogood.misc;
public class TestMutiThread {
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println(i+"hello.");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).run();
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 20; i++) {
System.out.println(i+"test.");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).run();
System.out.println("test end");
}
}
当一个线程启动的时候,它的状态被调为了0,如果不是0的话会抛异常出来.然后把这个线程加入到了线程组.最后尝试调用start0方法,而start0方法是私有的,私有的一般是使用C语言写的.看来要调用系统底层,还是要通过C.Java中的多线程,其实底层是使用C代码来实现的.这也就是为什么调用线程中的start方法可以实现多线程的效果.而如果调用run方法的话,其实调用的就是自己写的那个runnable里,自己实现的那个run方法.
|
|