首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
并发编程
订阅
Qinnsam
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
惊:FastThreadLocal吞吐量居然是ThreadLocal的3倍!!!
FastThreadLocal的使用。 FastThreadLocal并不是什么情况都快,你要用对才会快。 FastThreadLocal利用字节填充来解决伪共享问题。 FastThreadLocal比ThreadLocal快,并不是空间换时间。 FastThreadLocal…
interrupt(),interrupted() 和 isInterrupted() 的区别
1. 结论先行 2. interrupt() 可以看出,子线程已经执行完成了。说明 interrupt() 方法是不能让线程停止,和我们一开始所说的那样,它仅仅是在当前线程记下一个停止标记而已。 那么这个停止标记我们又怎么知道呢?——此时就要介绍下面的 interrupted(…
多线程(二)
一、ReentrantLock1、重入锁结果:2、尝试锁结果:3、尝试打断(lockInterruptibly)结果:4、公平锁结果:二、生产者消费者1)、wait¬ify结果:2)、重入锁&条
Java 之 synchronized 详解
一、概念 synchronized 是 Java 中的关键字,是利用锁的机制来实现同步的。 锁机制有如下两种特性: 互斥性:即在同一时间只允许一个线程持有某个对象锁,通过这种特性来实现多线程中的协调机制,这样在同一时间只有一个线程对需同步的代码块 (复合操作) 进行访问。互斥性我们…
并发编程之 wait notify 方法剖析
2018 元旦快乐。 1. notify wait 如何使用? 今天我们要学习或者说分析的是 Object 类中的 wait notify 这两个方法,其实说是两个方法,这两个方法包括他们的重载方法一共有5个,而Object 类中一共才 12 个方法,可见这2个方法的重要性。我…
Java异步编程——深入源码分析FutureTask
Java的异步编程是一项非常常用的多线程技术。 之前通过源码详细分析了ThreadPoolExecutor《你真的懂ThreadPoolExecutor线程池技术吗?看了源码你会有全新的认识》。通过创建一个ThreadPoolExecutor,往里面丢任务就可以实现多线程异步执…
面试必备:Java线程池解析
掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。 面试问题2:按线程池内部机制,当提交新任务…
打通 Java 任督二脉 —— 并发数据结构的基石
Java 的线程阻塞和唤醒是通过 Unsafe 类的 park 和 unpark 方法做到的。 这两个方法都是 native 方法,它们本身是由 C 语言来实现的核心功能。park 的意思是停车,让当前运行的线程 Thread.currentThread() 休眠,unpark…
大白话聊聊Java并发面试问题之公平锁与非公平锁是啥?【石杉的架构笔记】
上篇文章(大白话聊聊Java并发面试问题之谈谈你对AQS的理解?)聊了一下java并发包中的AQS的工作原理,也间接说明了ReentrantLock的工作原理。 先来聊聊非公平锁是啥,现在大家先回过头来看下面这张图。 如上图,现在线程1加了锁,然后线程2尝试加锁,失败后进入了等…
并发编程——ConcurrentHashMap#transfer() 扩容逐行分析
ConcurrentHashMap 是并发中的重中之重,也是最常用的数据结果,之前的文章中,我们介绍了 putVal 方法。并发编程之 ConcurrentHashMap(JDK 1.8) putVal 源码分析。其中分析了 initTable 方法和 putVal 方法,但也…