方法体中的代码,都是自上而下执行,永远不变
package xiancheng.MyThread; public class ThreadTest { //java程序有一个main主线程和回收机制线程 public static void main(String[] args) { //新建一个分支线程对象 MyThread myThread = new MyThread(); //启动线程 //start()方法的作用:启动一个分支线程,在jvm中开辟一块新的栈空间,这段代码任务完成后,瞬间就结束了 //只要新的栈空间开出来,start()方法就结束了,线程就启动成功了 //启动成功的线程会自动调用run方法,并且run方法在分支栈的栈底部(压栈) //run方法在分支栈的栈底部,main方法在主栈的栈底部,run和main是平级 // myThread.run();//不会启动线程,不会分配新的分支栈(这种方式是单线程) myThread.start(); //这里的代码还是运行在主线程中 for (int i =0;i<100;i++){ System.out.println("主线程---》"+i); } } } class MyThread extends Thread{ @Override public void run() { //编写程序,这段程序运行在分支线程中(分支栈) for (int i = 0; i<100; i++){ System.out.println("分支线程--》"+i); } } }
参考链接:
https://www.bilibili.com/video/BV1Rx411876f?p=762
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)