首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java 多线程
订阅
_OMT_
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
深入理解 epoll
Epoll 是个很老的知识点,是后端工程师的经典必修课。这种知识具备的特点就是研究的人多,所以研究的趋势就会越来越深。当然分享的人也多,由于分享者水平参差不齐,也产生的大量错误理解。今天我再次分享 epoll,肯定不会列个表格,对比一下差异,那就太无聊了。我将从线程阻塞的原理,中...
面试必备:Java线程池解析
掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。 面试问题2:按线程池内部机制,当提交新任务…
[并发编程]-关于 CAS 的几个问题
CAS的全称是Compare And Swap ,即比较交换。CAS 中一般会设计到3个参数: 当且仅当预期值 A 和内存值 V 相同时,将内存值V修改为 B,否则什么都不做。 下面就这三个问题展开来聊一下。 自旋 CAS 如果长时间不成功,会给 CPU 带来非常大的开销。但是…
Java 8 并发篇 - 冷静分析 Synchronized(下)
本段摘自 The Java® Virtual Machine Specification 3.14. Synchronization 对于Java代码来说,或许最常用的同步实现就是同步方法。其中同步代码块是通过使用 monitorenter 和 monitorexit 实现的,…
Java 8 并发篇 - 冷静分析 Synchronized(上)
1.Java的锁1.1锁的内存语义锁可以让临界区互斥执行,还可以让释放锁的线程向同一个锁的线程发送消息锁的释放要遵循Happens-before原则(锁规则:解锁必然发生在随后的加锁之前)锁在Java
synchronized与ReentrantLock的区别
这是一个老生常谈的问题,但是如果仅仅是那些比较普遍的说法,我也不用记录这篇文章,今天在写两者代码的时候还有一个不容易发现到的区别点。 ReentrantLock更加灵活,提供了超时获取锁,可中断锁。提供了非公平锁和非公平锁,而synchronized仅仅是非公平锁。 用法上,R…
java并发编程系列:牛逼的AQS(下)
看完了AQS中的底层同步机制,我们来简单分析一下之前介绍过的ReentrantLock的实现原理。先回顾一下这个显式锁的典型使用方式: ReentrantLock首先是一个显式锁,它实现了Lock接口。可能你已经忘记了Lock接口长啥样了,我们再回顾一遍: 也就是当一个线程因为…
java并发编程系列:牛逼的AQS(上)
设计java的大叔们为了我们方便的自定义各种同步工具,为我们提供了大杀器AbstractQueuedSynchronizer类,这是一个抽象类,以下我们会简称AQS,翻译成中文就是抽象队列同步器。这家伙老有用了,封装了各种底层的同步细节,我们程序员想自定义自己的同步工具的时候,…
『并发包入坑指北』之向大佬汇报任务
这也是本次讨论的话题之一,所以本篇为『并发包入坑指北』的第二篇;来聊聊常见的并发工具。 其实这类问题的核心论点都是:如何在一个线程中得知其他线程是否执行完毕。 定义一个计数器为 3。 每个线程完成任务后计数减一。 一旦计数器减为 0 则通知等待的线程。 所以也很容易想到可以利用…
Java并发编程—synchronized保证线程安全的原理分析
程安全是并发编程中的重要关注点,应该注意到的是,造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其…