版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/myloveprogrmming/article/details/82871100
package a;
class ThreadA extends Thread{
public void run() {
for(int i=1;i<=100;i++)
{
System.out.println(i+getName());//getName()是Thread中的非静态方法;
}
}
}
public class TestA {
public static void main(String[] args) {
//主虚拟机开启主线程,调用main()方法,主线程也是线程,是线程就是Thread类的对象。
//Thread中的静态方法Thread.currentThread()返回正在运行的线程对象。
ThreadA ta=new ThreadA();
ta.start();//这是Thread中的方法,该方法1开启该线程,2并让jvm调用run()在该线程中运行
//如果是ta.run()仅仅是普通的调用run()方法,并不会开始该线程
Thread t=Thread.currentThread();
String s=t.getName();
for(int i=1;i<=100;i++)
{
System.out.println(i+s);
}
//可以发现这两个线程在交替运行,并且每次输出都不同,顺序是CPU自己选择的结果
}
}