首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程
订阅
爱好者57
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
还不懂Java高并发的,建议看看这篇阿里大佬的总结,写的非常详细
进程是计算机中程序关于某几何数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。是操作系统结构的基础 线程可以说是轻量级的进程,是程序执行的最小单位,使用多线程而不用多进程去进行并发程序的设计,是因为线程之间的切换与调度的成本远小于进程。 因为stop方法比较暴力,强…
Java并发必知必会第三弹:用积木讲解ABA原理 | 老婆居然又听懂了!
上一节我们讲了程序员深夜惨遭老婆鄙视,原因竟是CAS原理太简单?,留了一个彩蛋给大家,ABA问题是怎么出现的,为什么不是AAB拖拉机,AAA金花,4个A炸弹 ?这一篇我们再来揭开ABA的神秘面纱。 案例:甲看见一个三角形积木,觉得不好看,想替换成五边形,但是乙想把积木替换成四边…
阿里为什么推荐使用LongAdder,而不是AtomicLong?
如果是 JDK8 推荐使用 LongAdder 而非 AtomicLong 来替代 volatile,因为 LongAdder 的性能更好。 但口说无凭,即使是孤尽大佬说的,咱们也得证实一下,因为马老爷子说过:实践是检验真理的唯一标准。 这样做也有它的好处,第一,加深了我们对知…
2w字 + 40张图带你参透并发编程!
在计算机最早期的时候,没有操作系统,执行程序只需要一种方式,那就是从头到尾依次执行。任何资源都会为这个程序服务,在计算机使用某些资源时,其他资源就会空闲,就会存在 浪费资源 的情况。 操作系统的出现为我们的程序带来了 并发性,操作系统使我们的程序能够同时运行多个程序,一个程序就…
面试阿里,字节跳动99%会被问到的java线程和线程池,看完这篇你就懂了!
最近也是在后台收到很多小伙伴私信问我线程和线程池这一块的问题,说自己在面试的时候老是被问到这一块的问题,被问的很头疼。前几天看到后帮几个小伙伴解决了问题,但是问的人有点多我一个个回答也回答不过来,干脆花了一个上午时间写了这篇文章分享给大家。话不多说,满满的干货都在下面了! 并发…
面试美团,面试官突然问我 Java “锁” ,我哭了
Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。 Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进行分…
AbstractQueuedSynchronizer 新玩法
1、简介AbstractQueuedSynchronizer是java同步器的基石,是为了更快,更省心的自定义实现同步锁的模板;这次也是介绍CountDownLatch、Semaphore,它们也实现
同步工具类CyclicBarrier原理及使用
栅栏类似于闭锁,它能阻塞一组线程直到某个事件的发生。栅栏与闭锁的关键区别在于,所有的线程必须同时到达栅栏位置,才能继续执行。闭锁用于等待事件,而栅栏用于等待其他线程。 CyclicBarrier可以使一定数量的线程反复地在栅栏位置处汇集。当线程到达栅栏位置时将调用await方法…
并发容器与并发控制 - JUC(三)
很简单,别想太多,就是因为性能不好。 look, look, 这个synchronized是直接修饰在方法上的,如果你上下翻翻,就可以发现基本上这个类的所有方法都是synchronized修饰的。 Hashtable也是如此。 同时扩容时,只会保留一个扩容的数组。 多线程同时扩…
AQS源码详解
AQS(AbstractQueuedSynchronizer)核心思想是:如果被请求的共享资源空闲,则将当前请求资源的线程设置为有效的工作线程,并且将共享资源设置为锁定状态。如果被请求的共享资源被占用,那么就需要一套线程阻塞等待以及被唤醒时锁分配的机制,这个机制 AQS 是用 …