线程
-
Java21新特性——虚拟线程
本文主要介绍Java传统的线程和虚拟线程的特点和区别,以及虚拟线程的编码方法和注意事项。
-
DDD实战:应对并发挑战,五个技巧让你轻松应对
并发管理是一个高级话题,也是设计中的难点,一不小心就会出问题。让每个开发人员都成为并发高手又是一件不太现实的事,但,好在存在很多并发管理的成熟方案,业务开发者按照场景进行落地即可。
-
ThreadLocal:多线程环境下的神秘武器
如何实现子线程获取父线程保存的值的呢?下面代码是thread类的源码,在创建一个线程时,thread初始化的innt方法中会去判断父线程的inheritThreadLocals中是否有值,如果有,直接赋值给子线程。
-
性能暴增70%!AMD顶级核弹发布定了:96核心Zen 4史无前例
据悉,线程撕裂者PRO 7000是AMD基于Zen 4架构的最新一代旗舰工作站CPU,它的推出也意味着基于Zen 3的PRO 5000系列将退出历史舞台。
-
面试官提问:线程中的wait和notify方法有啥作用?
本文主要围绕线程之间的协调和通信相关技术进行一些知识总结,使用Object类中的wait()、notify()、notifyAll()方法,可以实现线程之间的协调和通信,但是它们只有在synchronized修饰的同步方法/同步代码块才会生效。
-
面试中如何答好:FutureTask
FutureTask就是一个实现了一套获取返回值机制的任务体,请注意它依然是任务体,自身不能执行任务,依然需要借助Thread执行。
-
面试中如何答好:线程
线程是cpu执行的基本单位,可以理解为一个基本的执行流,一个进程中至少有一个线程。
-
优秀实践:CPU核心数和线程池大小之间的关系
在Java中创建线程会产生明显的开销。创建线程消耗时间,增加请求处理的延迟,并涉及JVM和操作系统的大量工作。为了减少这些开销,线程池发挥着重要作用。
-
诞生2.5年后 AMD Zen3 EPYC突然上新!56/48核心真便宜
EPYC 7303/7303P和已有的EPYC 7313/7313P都是16核心32线程,但是频率从3.0-3.7GHz降至2.4-3.4GHz,三级缓存减半至64MB,TDP 155W降至130W(可调范围降至120-150W)。
-
LinkedList 源码分析,你想知道的都在这里
LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的,是线程不安全的,允许元素为null的双向链表。
-
Spring中这两个对象ObjectFactory与FactoryBean接口你使用过吗?
这几个接口实际获取的对象都是从当前线程的上下文中获取的(通过ThreadLocal),所以在Controller中直接属性注入相应的对象是线程安全的。
-
HashMap源码分析,看一遍就懂!
HashMap最早出现在JDK1.2中,底层基于散列算法实现。HashMap 允许 null 键和 null 值,是非线程安全类,在多线程环境下可能会存在问题。
-
LinkedList 源码分析,你想知道的都在这里
LinkedList是一种可以在任何位置进行高效地插入和移除操作的有序序列,它是基于双向链表实现的,是线程不安全的,允许元素为null的双向链表。
-
Intel首秀下下代56核心至强:一分为五
四代至强用了四颗小芯片整合,最多60核心;五代至强简化为双芯片,但最多64核心;六代至强Granite Rapids则变成了五颗不同的小芯片,并排放置在一起。
-
如何正确停止线程?
stop 方法是被 @Deprecated 修饰的不建议使用的过期方法,并且在注释的第一句话就说明了 stop 方法为非安全的方法。在最新版本 Java 中,此方法已经被直接移除了,所以强烈不建议使用。