首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java Concurrency
订阅
0月0日
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
Runnable,Callable,Future关系浅析
Runnable,Callable,FutureRunnable,Callable在ThreadPoolExecutor中的使用FutureFutureTask.cancel()实现FutureTas
Java多线程-死锁经验谈
谢谢! 关注我的公众号,获得更多干货~ 这个话题是源自笔者以前跟人的一次技术讨论,“你是怎么发现死锁的并且是如何预防、如何解决的?”以前听到的这个问题的时候,虽然脑海里也有一些思路,但是都是不够系统化的东西。直到最近亲身经历一次死锁,才做了这么一次集中的思路整理,撰录以下文字。…
并发编程之 ThreadLocal 源码剖析
例如,以下类生成对每个线程唯一的局部标识符。 线程 ID 是在第一次调用 UniqueThreadIdGenerator.getCur java.lang.ThreadLocal 不是 1.5 新加入的类,在 1.2 的时候就已经存在 java 类库的类,但该类的作用非常的大,…
Java 多线程下载器的设计与实现
应用并发的场景有很多,下载文件就是一个很常见的并发场景。 为什么会想写多线程下载器呢?不知道你用过 IDM(Internet Download Manager)没,我刚使用 IDM 时,就被它的下载方式吸引了。 用 IDM 下载文件时,能够直观地看到它的下载过程:固定用 N 个…
Java 8新特性之CompletableFuture(一)
自Java 5开始添加了Future,用来描述一个异步计算的结果。获取一个结果时方法较少,要么通过轮询isDone,确认完成后调用get()获取值,要么调用get()设置一个超时时间。但是get()方法会阻塞调用线程,这种阻塞的方式显然和我们的异步编程的初衷相违背。如: 虽然F…
Java并发之线程池ThreadPoolExecutor源码分析学习
我写博客就真的比较没有顺序了,这可能跟我的学习方式有关,我自己也觉得这样挺不好的,但是没办法说服自己去改变,所以也只能这样想到什么学什么了。 池化技术真的是一门在我看来非常牛逼的技术,因为它做到了在有限资源内实现了资源利用的最大化,这让我想到了一门课程,那就是运筹学,当时在…
Java并发编程----ArrayBlockingQueue源码分析
刚一听到阻塞队列,就觉得它非常地高大上,非常地难!其实不然!为什么?因为当你有一点基本的数据结构基础再看阻塞队列的定义之后你就会发现就那么回事。好了,言归正传,队列?无非就是一种具有先进先出(FIFO)特性的数据结构嘛!其最基本的操作是入队和出队。 阻塞队列(BlockingQ…
并发编程之 锁的优化有哪些
在 JDK 1.6 之前,synchronized 性能令人担忧,但是 1.6 之后,JVM 团队针对 synchronized 做了很多的优化,让 synchroized 在性能层面相比较 ReentrantLock 不相上下。那么,JVM 团队做了哪些优化呢? 首先说,怎么…
Java Thread的join() 之刨根问底
线程的合并的含义就是 将几个并行线程的线程合并为一个单线程执行,应用场景是 当一个线程必须等待另一个线程执行完毕才能执行时,Thread类提供了join方法来完成这个功能,注意,它不是静态方法。 void join():当前线程等该加入该线程后面,等待该线程终止。 void j…
Java多线程与高并发(一):并发基础与模拟工具
面试官:你知道Java的内存模型是什么吗? 引用知乎上一个最高赞: 你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。 你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。 你吃饭吃到一半,电话来了,你一边打电话一…