线程
-
浅谈自旋锁和 JVM 对锁的优化
背景 先上图 由此可见,非自旋锁如果拿不到锁会把线程阻塞,直到被唤醒;自旋锁拿不到锁会一直尝试 为什么要这样? 好处 阻塞和唤醒线程都是需要高昂的开销的,如果同步代码块中的内容不复…
-
ThreadLocal 使用介绍以及内存溢出分析
一,概述 ThreadLocal是Java中的一个线程级别的变量,它为每个线程提供了独立的变量副本,从而避免了线程间的数据共享和竞争。然而,如果不注意使用和管理ThreadLoca…
-
转转B2C一站式服务告警治理的背后
1 为什么写这篇文章 转转B2C技术部主要负责商详、商列等BFF层核心页面业务,单接口甚至需要开线程池并行调用二十多个依赖服务,因此依赖的服务以及执行线程池的稳定性也就成为了B2C…
-
信号量对象没有所有者,你明白了吗?
相较于互斥对象(Mutex)和临界区对象(Critical Section) ,信号量没有所有者,它们只有计数。 ReleaseSemaphore 函数将会以指定的数量增加对应信号…
-
蔚来手撕代码题:三个线程循环打印ABC
问题如下: https://www.nowcoder.com/discuss/493178141461041152 思路分析 三个线程交替打印 ABC 的实现方法有很多,我个人比较…
-
处理大规模数据计算任务,Fork/Join框架是您的得力助手!
1、JUC包概述 JUC是Java Util Concurrency的缩写,即Java并发工具包。JUC包提供了一些常用的线程和并发编程工具类,帮助开发者更方便地开发多线程应用程序…
-
Java I/O大揭秘:BIO、NIO、AIO到底有何区别?
大家好,我是小米,一个热爱技术分享的小编。今天,我要和大家聊一聊在Java中,那些让人听起来很高大上的BIO、NIO、AIO,到底有什么区别呢?让我们一起来深入探索吧! BIO是什…
-
你的Java集合线程安全吗?快来检查一下!
简介 在多线程编程中,使用线程安全的集合是非常重要的,它可以保证多个线程同时访问同一个集合时,不会出现数据不一致的情况。 Java 中提供了多种线程安全的集合实现,本文将详细介绍这…
-
并发编程:volatile关键字,你学会了吗?
一、64位写入的原子性(Half Write) 如,对于一个long型变量的赋值和取值操作而言,在多线程场景下,线程A调用set(100),线程B调 用get(),在某些场景下,返…
-
我们一起聊聊信号量对象没有所有者
相较于互斥对象(Mutex)和临界区对象(Critical Section) ,信号量没有所有者,它们只有计数。 ReleaseSemaphore 函数将会以指定的数量增加对应信号…
-
四分钟快速入门Java线程的六种状态与流转
1.并行与并发有什么区别? 并行和并发都是指多个任务同时执行的概念,但是它们之间有着明显的区别。 并行:多个任务在同一时刻同时运行,通常需要使用多个处理器或者多核处理器来实现。例如…
-
多线程编程系列之多线程基本概念
一、什么是多线程以及它的作用 多线程是指在一个应用程序中同时运行多个执行流,每个执行流都是一个独立的线程。与单线程相比,多线程可以更加高效地利用CPU资源,同时也能够避免阻塞等待时…