排序
自旋锁是什么
自旋锁加锁失败后,线程会忙等待,直到它拿到锁。 自旋锁是通过 CPU 提供的 CAS 函数(Compare And Swap),在「用户态」完成加锁和解锁操作,不会主动产生线程上下文切换,所以相比互斥锁来...
vcpu怎么计算
在计算vCPU前需要了解一些术语。 vCPU相关术语 Hypervisor Hypervisor,也被称为虚拟机监视器(VMM),是用于创建和运行虚拟机(VM)的软件。 它允许一台主机计算机通过虚拟共享其资源(如内存...
ThreadLocal的工作原理及源码解析
ThreadLocal本质来说就是一个线程内部存储类,从而让多个线程只操作自己内部的值,从而实现线程数据隔离 每个线程内有一个 ThreadLocalMap 类型的成员变量,用来存储资源对象 ThreadLocalMap特...
ThreadLocal简介
ThreadLocal是多线程中对于解决线程安全的一个操作类,它会为每个线程都分配一个独立的线程副本从而解决了变量并发访问冲突的问题。 ThreadLocal同时实现了线程内的资源共享。 案例 使用JDBC操...
线程的五种状态
五种状态的说法来自于操作系统层面的划分 运行态:分到 cpu 时间,能真正执行线程内代码的 就绪态:有资格分到 cpu 时间,但还未轮到它的 阻塞态:没资格分到 cpu 时间的 涵盖了 java 状态中提...
线程的六种状态
线程的状态可以参考JDK中的Thread类中的枚举State,存在六种状态 public enum State { //尚未启动的线程的线程状态 NEW, //可运行线程的线程状态 RUNNABLE, //线程阻塞等待监视器锁的线程状态 BL...
常见线程池类型与应用场景
在java.util.concurrent.Executors类中提供了大量创建连接池的静态方法,常见就有四种。 创建使用固定线程数的线程池 public static ExecutorService newFixedThreadPool(int nThreads) { retur...