线程
文章平均质量分 89
熊猫有几种颜色
熊猫还有第三种颜色吗?
展开
-
技术自查第五篇:线程进阶(二)篇
前言线程的基础知识以及原理,我们都已经学习了一大部分,线程的确会为我们带来好处,但相对应我们需要付出代价,系统资源换取。当大量的线程创建和销毁,无疑消耗大量的资源。为了应付这种情况,Java就推出线程池。线程池为了降低资源的消耗,提高响应速度,使线程可重复使用。作用1. 降低资源消耗,线程其实也是一个对象,既然是对象,那就涉及到堆内存,GC回收等等2. 提高响应速度,通过从线程池获取比创建相乘,无疑是前者速度快3. 线程可重复使用,从线程池获取线程且使用完毕后,可原创 2021-10-04 16:01:54 · 166 阅读 · 0 评论 -
技术自查番外篇六:死锁及解决办法
前言线程的六种状态(初始,等待,阻塞,运行,就绪和等待),我们都知道,但实际情况下,会出现这六种状态下的,第七种情况死锁,那么死锁是什么,为什么会发生呢?先了解下死锁的概念概念两个线程同一时间持有自身的锁且互相争夺对方的锁,等待对方锁释放,如果没有外力介入下,这两个线程会一直等待下去。虽然说一直等待,可以说是等待状态,但由于它们互相持有对方所需的锁,此时就是阻塞状态了。发生死锁条件1. 互斥条件2. 持有并等待状态(持有本身锁且等待对方锁)3. 不可剥夺条件(不可释放原创 2021-09-30 18:35:39 · 1790 阅读 · 0 评论 -
技术自查番外篇五:join()方法原理
Join()方法作用是:线程并行改为串行,并等待另一个线程执行结束这句话看似简单,但实际上也容易 把人误导,认为只变得一个线程在执行所有方式,但实际上不然,本质上还是多个线程同时运行原因/原理:Join()方法底层调用的是wait()方法,把当前主线程状态更改为等待状态,且等待子线程运行完毕唤醒源码public final synchronized void join(long var1) throws InterruptedException { long var原创 2021-09-30 11:56:15 · 195 阅读 · 0 评论 -
技术自查第五篇:线程进阶篇
JAVA的内存模型原创 2021-09-22 23:09:07 · 117 阅读 · 0 评论 -
技术自查第四篇:线程基础篇
前言面试题中常见的题目之一,很多人都能解答出简单的线程问题。但往往面试官再深入,很多时候就哑口无言。同时线程也是我们开发中常用的,故我们必须要好好学习线程,深入了解原理。要了解线程,请先记住以下这句话。锁的机制:基于线程,不是基于方法线程与进程的关系https://www.zhihu.com/question/25532384进程是资源最小调度单位,线程是进程最小调度单位,理论上一个进程可以有无数个线程。进程之间互不影响,线程之间可以相互影响。打个比喻:系统=火车站原创 2021-09-11 23:03:45 · 734 阅读 · 0 评论