![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
文章平均质量分 95
今天学不学?
1 + 1 =| |
展开
-
并发编程之美
无原创 2022-10-18 22:34:39 · 742 阅读 · 0 评论 -
AQS抽象同步器
AQS在java并发中的地位,相当于JVM在java中的地位,他就是抽象阻塞队列同步器,是实现同步器和锁的基石,就是base父类概述:用于实现锁和其他同步器组件的公共基础部分的抽象实现,是重量级的基础框架以及JUC体系的基石,就是一个抽象FIFO队列来完成资源获取线程的阻塞队列和一个int变量的状态来表示当前资源是否被占用Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。AQS是一种提供了原创 2022-06-28 21:56:26 · 222 阅读 · 0 评论 -
ThreadLocal
ThreadLocal提供线程局部变量,这些变量与正常的变量不一样,每一个线程访问ThreadLocal实例的时候都有自己的,独立初始化的变量副本.ThreadLocal实例通常是类中的私有静态字段.实现每一个线程都有自己专属的本地变量副本 (自己用自己的变量,不和其他线程共享),避免了线程问题.protect T initialValue() 返回此线程局部变量的当前线程的初始值,通常使用匿名内部类,不推荐使用为每个线程设置初始值withInitial()为每个线程设置初始值 推荐使用这种方式对每个线原创 2022-06-25 14:31:35 · 402 阅读 · 0 评论 -
由浅到深对synchronized的理解
特别注意:①如果一个线程A调用一个实例对象的非静态 synchronized 方法,而线程B需要调用这个实例对象所属类的静态 synchronized 方法,是允许的,不会发生互斥现象,因为访问静态 synchronized 方法占用的锁是当前类的锁②尽量不要使用 synchronized(String s) ,因为JVM中,字符串常量池具有缓冲功能java对象由两部分组成:对象头和局部变量以32位虚拟机为例普通对象object Header (64 bits)mark word结构:数组对象object原创 2022-06-07 11:29:40 · 299 阅读 · 0 评论 -
java中的线程
java线程(详述)线程概述程序:简单的说为了完成特定的任务就是一块静态代码进程:就是正在执行的程序,加载到程序内存中运行线程:进程可进一步划分为线程举例:在自己电脑上安装了微信,就是程序 当运行微信,被加载到内存中,分配空间,就是进程,微信进程中包括许多小的任务就是线程进程和线程的关系:一个进程可以包括多个线程,一个线程只属于一个进程,线程不能脱离线程的存在,每个进程最少包括一个线程(主线程),Java中,main为主线程.所有线程共享资源.多线程:在一个进程中,同时拥有多个线程,执行多个原创 2021-01-21 13:01:46 · 214 阅读 · 2 评论