![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程与高并发
文章平均质量分 95
zglx123
这个作者很懒,什么都没留下…
展开
-
多线程与高并发(八)线程池与源码阅读
取31原创 2021-03-29 00:27:20 · 222 阅读 · 0 评论 -
多线程与高并发(七)线程池
线程池今天这节课我们通过之前讲个面试题把基础知识复习一遍,然后再一点一点来看两个线程,第一个线程从1到26,第二个线程从A到Z,交替顺序输出原创 2021-03-10 00:04:48 · 247 阅读 · 0 评论 -
多线程与高并发之(六)并发容器
并发容器并发容器HashTable三级目录并发容器第一类Collection,也叫做集合集合的意思就是说这个容器是什么结构,你都可以把一个元素一个元素的往里面添加。从数据结构的角度来说,这个存储的数据结构也就两种连续存储的数组Array,和非连续存储的一个指向另外一个的链表,但是逻辑结构就很多了。Collection又分成了3大类,分别为Set,List,Queue,Queue队列接口就是为了高并发准备的,Set不会有重复的元素。队列最主要的原因就是实现了任务的状态和获取,叫做阻塞队列,其中有一个原创 2021-03-04 00:13:31 · 162 阅读 · 1 评论 -
多线程与高并发之(五)AQS源码约阅读与强软弱虚4种引用以及ThreadLocal原理与源码
AQS源码约阅读与强软弱虚4种引用以及ThreadLocal原理与源码AQS源码分析二级目录三级目录AQS源码分析AQS核心是什么,就是一个state,这个代表的意思由其子类决定,我们先来讲一下ReentranLock,刚才state为0,当你获得锁之后,它就变成了1,释放的时候变成0,这个state值得基础之上,它的下面还带有一个队列,是AQS自己内部所维护的队列,队列所维护的是一个node节点,node节点是AQS的内部类,最重要的是,它保留了一个Thread一个线程,所以这个队列是线程队列,而且还原创 2021-02-21 20:22:50 · 209 阅读 · 0 评论 -
多线程与高并发之(四)LockSupport、淘宝面试题与源码阅读方法论
LockSupport、淘宝面试题与源码阅读方法论二级目录三级目录二级目录三级目录原创 2021-01-31 17:52:53 · 181 阅读 · 0 评论 -
多线程与高并发之(三)Atomic类和线程同步新机制
Atomic类和线程同步新机制ReentrantLock三级目录这章我们来继续将Amotic的问题,然后将除了synchronized之外的锁。事实上,无锁化操作比synchronized效率更高。下面写个程序分别说明synchronize 和longAdder,Amoticpackage com.learn.thread.three;import java.util.concurrent.atomic.AtomicLong;import java.util.concurrent.atomic.原创 2021-01-03 18:34:24 · 304 阅读 · 0 评论 -
多线程与高并发之(二)volatile与CAS
volatitle与CASvolatitle保证线程的可见性禁止指令重新排序(volatile的第一层含义)单例模式(volatile的第二层含义)volatitlevolatile关键字,使一个变量在多个线程可见A,B线程公用一个变量,java默认A是线程中保留一份copy,这样如果B线程修改了该变量,则A线程未必知道使用volatile关键字,将会强制所有的线程去堆内存中读取变量的值,会让所有线程都会读到变量的修改值。但是volatile并不能保证多线程操作变量最终的一致性,它不能替代sync原创 2020-12-08 00:07:03 · 204 阅读 · 0 评论 -
多线程与高并发之(一)线程的基本概念
线程的基本概念基本概念创建线程的几种方式认识几个线程的方法sleepYieldJoin线程状态基本概念什么叫进程?什么叫进程?进程: 假设你的硬盘上有一个“英雄联盟”的程序,这就是一个程序,是一种静态的概念,当你打开它,弹出一个界面输入账号密码,这个时候就叫做一个进程,进程相对程序来说是一种动态的概念。线程: 作为一个进程里面最小的执行单元就叫做一个线程,简单的说就是一个程序里不同的执行路径叫做线程。package com.learn.thread.first;import java.util原创 2020-12-06 17:55:25 · 149 阅读 · 1 评论