
并发编程
文章平均质量分 69
并发
爱听歌的Fengx
Java Python攻城狮
展开
-
线程启动的原理
我们都知道启动一个线程,必须调用一个Thread的start()方法。在面试时经常可能会被问到start()和run()方法的区别,为什么一定要用start()方法才是启动线程?Thread是多线程的根,每一个线程的开启都始于Thread的start()方法。那么线程是如何被开启,run方法是如何被执行的呢?看完start()方法,线程的启动逻辑已经比较清楚,要探究更底层的原理就需要探究native方法start0()了。对于源码中的注释并没有省略,都进行了翻译,可以更好的理解整个启动过程。原创 2023-04-19 09:34:50 · 104 阅读 · 0 评论 -
Java线程池
创建线程的四种方式 实现Runnable接口,重写run()方法(避免多继承局限) 继承Thread类,重写run()方法(本质:Thread类也是实现Runnable接口) 实现Callable接口,重写call()方法,有返回值 使用线程池(使用原因:不推荐手动创建线程,不方便管理,易造成较大开销或浪费) 初识线程池 在Java中,我们可以利用多线程来最大化地压榨CPU多核计算的能力。但是,线程本身是把双刃剑,我们需要知道它的利弊,才能在实际系统中游刃有余地运用。 线程池,本质上是一种对象池,用于管原创 2021-10-09 14:34:06 · 186 阅读 · 0 评论