原文:并发王者课-黄金3:雨露均沾-不要让你的线程在竞争中被“饿死”

欢迎来到 并发王者课 ,本文是该系列文章中的第 篇。 在上篇文章中,我们介绍了避免死锁的几种策略。虽然死锁臭名昭著,然而在并发编程中,除了死锁之外,还有一些同样重要的线程活跃性问题值得关注。它们的知名度不高,但破坏性极强,本文将介绍的正是其中的线程饥饿和活锁问题。 一 饥饿的产生 所谓线程 饥饿 Starvation 指的是在多线程的资源竞争中,存在贪婪的线程一直锁定资源不释放,其他的线程则始终处 ...

2021-06-13 09:33 0 185 推荐指数:

查看详情

并发王者-铂金7:整齐划一-CountDownLatch如何协调多线程的开始和结束

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

Fri Jul 02 18:56:00 CST 2021 2 184
并发王者-青铜9:防患未然-如何处理线程中的异常

欢迎来到《并发王者》,本文是该系列文章中的第9篇。 在本篇文章中,我将为你介绍线程中异常的处理方式以及uncaughtExceptionHandler用法。 一、新线程中的异常去哪了 应用程序在执行过程中,难免会出现各种意外错误,如果我们没有对错误进行捕获处理,会直接影响应用的运行 ...

Thu Jun 10 03:29:00 CST 2021 0 167
并发王者-青铜8:分工协作-从本质认知线程的状态和动作方法

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

Mon May 31 20:39:00 CST 2021 0 210
并发王者-铂金4:令行禁止-为何说信号量是线程间的同步利器

欢迎来到《并发王者》,本文是该系列文章中的第17篇。 在并发编程中,信号量是线程同步的重要工具。在本文中,我将带你认识信号量的概念、用法、种类以及Java中的信号量。 信号量(Semaphore) 是线程间的同步结构,主要用于多线程协作时的信号传递,以及对共享资源的保护、防止竞态的发生 ...

Tue Jun 22 18:17:00 CST 2021 0 199
雨露均沾的OkHttp—WebSocket长连接的使用&源码解析

前言 最近老板又来新需求了,要做一个物联网相关的app,其中有个需求是客户端需要收发服务器不定期发出的消息。 内心OS: 🤔 这咋整呢?通过接口轮询?定时访问接口,有数据就更新? 🤔 不行不行, ...

Fri Oct 23 00:42:00 CST 2020 2 1561
并发王者-铂金10:能工巧匠-ThreadLocal如何为线程打造私有数据空间

欢迎来到《并发王者》,本文是该系列文章中的第23篇,铂金中的第10篇。 说起ThreadLocal,相信你对它的名字一定不陌生。在并发编程中,它有着较高的出场率,并且也是面试中的高频面试题之一,所以其重要性不言而喻。当然,它也可能曾经让你在夜里辗转反侧,或让你在面试时闪烁其词 ...

Mon Jul 12 18:12:00 CST 2021 0 203
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM