![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
LK_c
这个作者很懒,什么都没留下…
展开
-
线程的父子关系
Thread的所有构造函数,最终都会去调用一个静态方法init,任何线程都会有一个父线程: private void init(ThreadGroup g, Runnable target, String name, long stackSize, AccessControlContext acc) { if (name == null) { throw new NullPointerException("name c原创 2021-01-04 13:54:12 · 493 阅读 · 0 评论 -
2020-12-31线程名字
public Thread(Runnable target) { init(null, target, "Thread-" + nextThreadNum(), 0);}如果没有给线程指定名字,会默认有一个名字:"Thread-"+自增数字.例如:public static void main(String[] args) { IntStream.range(0,5).boxed().map(i-> new Thread(()->System.out.print.原创 2020-12-31 14:50:38 · 66 阅读 · 0 评论 -
2020-12-31Thread和Runnable的不同之处
创建线程的两种方式,创建Thread和实现Runnable接口,这种说法是不严谨的.准确的讲,创建线程只有一种方式那就是构造Thread类,而实现线程的执行单元则有两种方式,第一中是重写Thread的run方法,第二种是实现Runnable接口的run方法,并且将Runnable实例用作构造Thread的参数.注意:重写Thread类的run方法和实现Runnable的run方法还有一个很重要的不同,Thread类的run方法是不能共享的,也就是说,A线程不能把B线程的run方法当做自己原创 2020-12-31 14:32:31 · 73 阅读 · 0 评论 -
线程的生命周期(2020-12-14)
线程生命周期:在单cpu中,其实并没有真正的并行,它只不过是cpu的时间钟快速轮转调度带给你的感觉,让你觉得它们真的是在同一时刻运行.当然如果是多核cpu,那么并行还是真实存在的.对于计算机来说,每一个任务就是一个进程(process),在每一个进程内部至少要有一个线程(Thread)是在运行中,又是线程也称为轻量级进程.线程的生命周期分为五个阶段:NEWRUNNABLERUNNINGBLOCKEDTERMINATED...原创 2020-12-14 10:24:55 · 64 阅读 · 0 评论