线程1

 1 /*
 2  * 实现线程的第一种方法:
 3  *         编写一个类,直接继承java.lang.Thread,重写run()方法
 4  */
 5 public class XianCheng01 {
 6     public static void main(String[] args) {
 7         // 这里是主方法main方法,这里的代码属于主线程,在主栈中运行。
 8         // 新建一个分支线程对象
 9         MyThread t = new MyThread();
10         // t.run();不会启动线程,不会分配新的分支栈。
11         // 启动线程
12         // start()方法的作用是:启动一个分支线程,在JVM中开辟一个新的栈空间,这段代码任务完成后,瞬间就结束了。
13         // 这段代码的任务只是为了开辟一块新的栈空间,只要新的栈空间开辟出来,start()方法就结束了,线程就启动了。
14         // 启动成功的线程会自动调用run方法,并且run方法在分支栈的栈底部。
15         // run方法在分支栈的底部,main方法在主栈的栈底部,run方法和main方法是平级的。
16         t.start();
17         // 这里的代码还是运行在主线程中
18         for (int i = 0; i < 1000; i++) {
19             System.out.println("主线程--->" + i);
20         }
21     }
22 
23 }
24 
25 class MyThread extends Thread {
26 
27     @Override
28     public void run() {
29         // 编写程序,这段程序运行在分支线程中(分支栈)
30         for (int i = 0; i <= 100; i++) {
31             System.out.println("分支线程--->" + i);
32         }
33     }
34 }

 

posted @ 2020-05-28 17:09  1998青年  阅读(120)  评论(0编辑  收藏  举报