线程Thread小记

Posted on 2022-05-07 11:30  慢热并不是缺点  阅读(21)  评论(0编辑  收藏  举报
 1 public class ConcurentDemo extends Thread {
 2     @Override
 3     public void run() {
 4         super.run();
 5         System.out.println("run方法中线程:"+Thread.currentThread());
 6     }
 7 
 8     public static void main(String[] args) {
 9         //runnable  thread
10         new ConcurentDemo().start();//多线程 开启一个新线程 Thread[Thread-0,5,main]
11         new ConcurentDemo().run();//main线程中一个任务 没有开启新线程 Thread[main,5,main]
12         System.out.println("main方法中线程:"+Thread.currentThread());//Thread[main,5,main]
13         Runnable r=()->{
14             System.out.println("runnable线程"+Thread.currentThread());
15         };
16         Thread  t=new Thread(r);
17 //        start方法与run方法的区别   直接执行run是本线程中的一个任务  start是新的线程
18         t.start();//Thread[Thread-1,5,main]
19 
20     }
21 }

1:run和start的区别:run是在原线程上执行任务  start是新线程执行run任务

2:使用Runnable与子类区别:官方建议 不修改或增加Thread方法,只是仅仅override run方法的话还是不要使用子类

直接使用Runnable 来创建新线程

Copyright © 2024 慢热并不是缺点
Powered by .NET 8.0 on Kubernetes