首页
开发
问题记录
linux
环境搭建
开源
心得
关于
搞钱拒绝ICU
行动起来,活在当下
累计撰写
26
篇文章
累计创建
8
个标签
累计收到
0
条评论
栏目
首页
开发
问题记录
linux
环境搭建
开源
心得
关于
目 录
CONTENT
多线程-搞钱拒绝ICU
以下是
多线程
相关的文章
2024-04-30
AQS
AQS 是一个抽象类,它维护了一个共享变量 state 和一个线程等待队列,为 ReentrantLock 等类提供底层支持。 AQS 的思想是,如果被请求的共享资源处于空闲状态,则当前线程成功获取锁;否则,将当前线程加入到等待队列中,当其他线程释放锁时,从等待队列中挑选一个线程,把锁分配给它。 一
2024-04-30
25
0
0
开发
2024-04-27
线程池
线程池是用来管理和复用线程的工具,它可以减少线程的创建和销毁开销。在 Java 中,ThreadPoolExecutor是线程池的核心实现,它通过核心线程数、最大线程数、任务队列和拒绝策略来控制线程的创建和执行。 一、常用参数 public ThreadPoolExecutor(int corePo
2024-04-27
8
0
0
开发
2024-04-27
Java中CAS
CAS(Compare-and-Swap)是一种乐观锁的实现方式,全称为“比较并交换”,是一种无锁的原子操作。 一、乐观锁与悲观锁 悲观锁 对于悲观锁来说,它总是认为每次访问共享资源时会发生冲突,所以必须对每次数据操作加上锁,以保证临界区的程序同一时间只能有一个线程在执行。比如synchronize
2024-04-27
13
0
0
开发
2024-04-27
synchronized关键字
一、介绍 JDK早期版本中 synchronized 属于 重量级锁,效率低下。这是因为监视器锁(monitor)是依赖于底层的操作系统的 Mutex(互斥)Lock 来实现的,Java 的线程是映射到操作系统的原生线程之上的。如果要挂起或者唤醒一个线程,都需要操作系统帮忙完成,而操作系统实现线程之
2024-04-27
24
0
0
开发
2024-04-21
线程创建方式及状态
一、三种创建方式 1. 重写父类 Thread 的 run() 方法 class ThreadTask extends Thread { public void run() { System.out.println("666"); } public stat
2024-04-21
17
0
0
开发
2024-04-17
并行与并发,多线程问题
并行 : 多个进程利用多个cpu核心 同时在多个地方完成多个任务。这解决了所谓的计算密集型问题,如果将程序分成多个部分并在不同的处理器上编辑不同的部分,程序可以运行得更快。 并发: 多个进程使用一个cpu核心(cpu分片) 同时完成多个任务。在开始处理其他任务之前,当前任务不需要完成。并发解决了阻塞
2024-04-17
22
0
0
开发
2024-03-29
ThreadLocal
ThreadLocal 是一种用于实现线程局部变量的工具类。它允许每个线程都拥有自己的独立副本,从而实现线程隔离。 一、作用 每个线程访问的变量副本都是独立的,避免了共享变量引起的线程安全问题。由于 ThreadLocal 实现了变量的线程独占,使得变量不需要同步处理,因此能够避免资源竞争。Thre
2024-03-29
10
0
0
开发
2024-02-28
ConcurrentHashMap
一、简介 ConcurrentHashMap 是 HashMap 的线程安全版本。 JDK 7 采用的是分段锁,整个 Map 会被分为若干段,每个段都可以独立加锁。不同的线程可以同时操作不同的段,从而实现并发。 JDK 8 使用了一种更加细粒度的锁——桶锁,再配合 CAS + synchronize
2024-02-28
10
0
0
开发