原文:并发王者课-青铜9:防患未然-如何处理线程中的异常

欢迎来到 并发王者课 ,本文是该系列文章中的第 篇。 在本篇文章中,我将为你介绍线程中异常的处理方式以及uncaughtExceptionHandler用法。 一 新线程中的异常去哪了 应用程序在执行过程中,难免会出现各种意外错误,如果我们没有对错误进行捕获处理,会直接影响应用的运行结果,甚至导致应用崩溃。而在应用异常处理中,多线程的异常处理是比较重要又容易犯错的地方。 接下来,我们通过一段代码模 ...

2021-06-09 19:29 0 167 推荐指数:

查看详情

并发王者-青铜7:顺藤摸瓜-如何从synchronized的锁认识Monitor

在前面的文章,我们已经体验过synchronized的用法,并对锁的概念和原理做了简单的介绍。然而,你可能已经察觉到,有一个概念似乎总是和synchronized、锁这两个概念如影相随,很多人也比较喜欢问它们之间的区别,这个概念就是Monitor,也叫监视器。 所以,在讲解完 ...

Fri May 28 18:29:00 CST 2021 0 282
并发王者-青铜8:分工协作-从本质认知线程的状态和动作方法

欢迎来到《并发王者》,本文是该系列文章的第8篇。 在本篇文章,我将从多线程的本质出发,为你介绍线程相关的状态和它们的变迁方式,并帮助你掌握这块知识点。 一、多线程的本质是分工协作 如果你是王者的玩家,那么你一定知道王者的众多英雄分为主要分为几类,比如法师、战士、坦克、辅助等等。一些 ...

Mon May 31 20:39:00 CST 2021 0 210
并发王者-青铜4:宝刀屠龙-如何使用synchronized之初体验

在前面的文章《双刃剑-理解多线程带来的安全问题》,我们提到了多线程情况下存在的线程安全问题。本文将以这个问题为背景,介绍如何通过使用synchronized关键字解这一问题。当然,在青铜阶段,我们仍不会过多地描述其背后的原理,重点还是先体验并理解它的用法。 一、从场景中体 ...

Wed May 26 02:19:00 CST 2021 2 324
并发王者-青铜5:一探究竟-如何从synchronized理解Java对象头中的锁

在前面的文章《青铜4:synchronized用法初体验》,我们已经提到锁的概念,并指出synchronized是锁机制的一种实现。可是,这么说未免太过抽象,你可能无法直观地理解锁究竟是什么?所以,本文会粗略地介绍synchronized背后的一些基本原理,让你对Java的锁有个粗略但直观 ...

Thu May 27 18:28:00 CST 2021 0 234
并发王者-青铜10:千锤百炼-如何解决生产者与消费者经典问题

欢迎来到《并发王者》,本文是该系列文章的第10篇。 在本篇文章,我将为你介绍并发的经典问题-生产者与消费者问题,并基于前面系列文章的知识点,通过wait、notify实现这一问题的简版方案。 一、生产者与消费者问题 生产者消费者问题(Producer-consumer problem ...

Thu Jun 10 20:23:00 CST 2021 0 330
拦截PHP各种异常和错误,发生致命错误时进行报警,万事防患于未然

在日常开发,大多数人的做法是在开发环境时开启调试模式,在产品环境关闭调试模式。在开发的时候可以查看各种错误、异常,但是在线上就把错误显示的关闭。 上面的情形看似很科学,有人解释为这样很安全,别人看不到错误,以免泄露重要信息... 但是你有没有遇到这种情况,线下好好的,一上线却运行 ...

Tue Jan 19 18:19:00 CST 2016 0 3154
并发王者-铂金7:整齐划一-CountDownLatch如何协调多线程的开始和结束

欢迎来到《并发王者》,本文是该系列文章的第20篇。 在上一篇文章,我们介绍了Condition的用法。在本文中,将为你介绍CountDownLatch的用法。CountDownLatch是JUC的一款常用工具类,当你在编写多线程代码时,如果你需要协调多个线程的开始和结束动作时,它可 ...

Fri Jul 02 18:56:00 CST 2021 2 184
并发王者-黄金3:雨露均沾-不要让你的线程在竞争中被“饿死”

欢迎来到《并发王者》,本文是该系列文章的第13篇。 在上篇文章,我们介绍了避免死锁的几种策略。虽然死锁臭名昭著,然而在并发编程,除了死锁之外,还有一些同样重要的线程活跃性问题值得关注。它们的知名度不高,但破坏性极强,本文将介绍的正是其中的线程饥饿和活锁问题。 一、饥饿的产生 所谓线程 ...

Sun Jun 13 17:33:00 CST 2021 0 185
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM