首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
并发编程
JavaEdge在掘金
创建于2021-05-18
订阅专栏
并发编程
等 5 人订阅
共11篇文章
创建于2021-05-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
任务终止的最佳实践
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第22天,点击查看活动详情。 设置任务周期性检查的标志,然后任务就能通过自己的shutdown进程并正常终止。不是在任务中随机关闭线程
Tomcat是如何修正JDK原生线程池bug的?
为提高处理能力和并发度,Web容器一般会把处理请求的任务放到线程池,而JDK的原生线程池先天适合CPU密集型任务,于是Tomcat改造之。
【大厂求职必看】Tomcat线程模型纳米级讲解!
UNIX系统的I/O模型 同步阻塞I/O、同步非阻塞I/O、I/O多路复用、信号驱动I/O和异步I/O。 什么是 I/O 就是计算机内存与外部设备之间拷贝数据的过程。 为什么需要 I/O CPU访问内
百度面试题:一个线程 OOM 后,其他线程还能运行吗?
由于面试官仅提到OOM,但 Java 的OOM又分很多类型的呀: 堆溢出(“java.lang.OutOfMemoryError: Java heap space”) 永久代溢出(“java.lang
由于不知道Java线程池的bug,某程序员叕被祭天
首先明确,池化的意义在于缓存,创建性能开销较大的对象,比如线程池、连接池、内存池。预先在池里创建一些对象,使用时直接取,用完就归还复用,使用策略调整池中缓存对象的数量。 Java创建对象,仅是在JVM
由于不知道Java线程池的bug,某程序员叕被祭天
我们会使用各种池化技术缓存 创建性能开销较大的 对象,比如线程池、连接池、内存池。 它们的原理都是预先创建一些对象入池,使用时直接取出,用完归还以复用,还会通过策略调整池中缓存对象的数量,实现动态伸缩性。 由于线程的创建比较昂贵,短平快的任务一般考虑使用线程池处理,而非直接创建…
三万字总结最全Java线程池ThreadPoolExecutor源码面试题
1、线程在java中是一个对象,更是操作系统的资源,线程创建、销毁都需要时间。 如果创建时间+销毁时间>执行任务时间就很不合算。 大小1M,这个栈空间是需要从系统内存中分配的。线程过多,会消耗很多的内存。 3、操作系统需要频繁切换线程上下文(大家都想被运行),影响性能。 线程使…
面试阿里被P8质问:ConcurrentHashMap真的线程安全吗?
没啥深入实践的理论系同学,在使用并发工具时,总是认为把HashMap改为ConcurrentHashMap,就完美解决并发了呀。或者使用写时复制的CopyOnWriteArrayList,性能更佳呀!技术言论虽然自由,但面对魔鬼面试官时,我们更在乎的是这些真的正确吗? 生产环境…
Java高性能编程实战 --- 线程封闭与ThreadLocal
1线程封闭多线程访问共享可变数据时,涉及到线程间数据同步的问题。并不是所有时候,都要用到共享数据,所以线程封闭概念就提出来了。数据都被封闭在各自的线程之中,就不需要同步,这种通过将数据封闭在线程中而避
Java高性能编程实战 - 线程通信
要想实现多个线程之间的协同,如:线程执行先后顺序、获取某个线程执行的结果等等。涉及到线程之间相互通信,分为下面四类:1文件共享2网络共享socket编程问题,非本文重点,不再赘述3共享变量4线程协作-
Java线程状态
0线程状态概述分类6个状态定义:java.lang.Thread.StateNew:尚未启动的线程的线程状态。Runnable:可运行线程的线程状态,等待CPU调度。Blocked:线程阻塞等待监视器