
线程Thread
文章平均质量分 87
黄嚯嚯
"清浊辨乎贵贱,运限决於枯荣"
展开
-
一个合格的后端开发总要经历一次死锁吧
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。例如,如果进程A锁住了记录1并等待记录2,而进程B锁住了记录2并等待记录1,这样两个进程就发生了死锁现象。原创 2022-11-15 11:29:12 · 287 阅读 · 0 评论 -
Thread线程异常的处理方式
我们都知道当程序运行出错时 , 会出现异常 , 并有异常信息输出 , 且如果不对异常进行捕获处理的话 , 是会影响到代码的执行的 . 但是如果在线程中出现异常, 则不然, 线程中出现的异常是没办法进行上抛捕获的 , 一般大家遇到这种情况都是在线程内进行异常捕获处理 , 但如果我现在需要将异常抛出, 告知主进程呢 ?首先我们需要知道 , 异常分为两类 ,分别是编译时异常和运行时异常 , 定义方法时,必须声明所有可能抛出的异常。在调用该方法时,必须手动捕获它的checked E原创 2022-07-04 11:36:00 · 2522 阅读 · 0 评论 -
main 方法中开了线程后 , 子线程导致主线程不退出
Java分为两种线程:用户线程和守护线程所谓守护线程是指在程序运行的时候在后台提供一种通用服务的线程,比如垃圾回收线程就是一个很称职的守护者,并且这种线程并不属于程序中不可或缺的部分。因 此,当所有的非守护线程结束时,程序也就终止了,同时会杀死进程中的所有守护线程。反过来说,只要任何非守护线程还在运行,程序就不会终止。...原创 2022-07-01 16:30:49 · 1075 阅读 · 0 评论 -
java多线程并发环境下为什么使用while而不用if
目录前言一 . 使用if所引发的问题1.1 虚假唤醒 1.2 虚假唤醒代码示例 1.3 解决虚假唤醒二 . 为什么用while就能解决问题结论再开始本文之前 , 先给大家看一张图 , 这是Object.wait()的源码介绍 , 翻译过来内容如下我们在使用线程时,进行条件判断时,往往会先考虑使用if进行判断,在线程进行等待时就会出现不确定的结果。先来看看两个线程下的操作。首先创建一个模拟业务类, 也是一个经典案例 "生产者&消费者" 然后分别创建补货/售货两个线程 , 用来模拟后续的动作接下来创原创 2022-06-30 15:12:26 · 1761 阅读 · 2 评论