java并发多线程
2021/7/21 17:06:55
本文主要是介绍java并发多线程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一,并发多线程
1,为什么要多线程
2,线程生命状态,线程池
3,JMM线程模型
4,syn加锁
1,同步锁,
2,JVM内置锁,
3,可以加载静态代码快,加载方法,加载类上
4,加锁原理(Monitor)
(1)1.6之前 Linux-Mutex,互斥锁,重量级锁。性能低。线程上下文的切换
(2)1.6之后锁的优化升级,偏向锁,轻量级锁,重量级锁。
(3)怎么实现。在JAVA的数据结构中有对象头,实例数据,对饮填充位,
(4)偏向状态。0.1(后2位)锁状态标致,在对象头里面记录当前对象的锁的状态,根据标记为一步步升级,锁的升级不可逆。
(5)JAVA 并发包,lock,依赖状态同步器,AQS,可重入,公平,非公平(队列,先进先出)。可中断
(6)volatile 修饰属性
轻量级锁机制,可见性,有序性,但是不保证原子性
HashMap
1,7之前,并发场景出现链表环,死锁,数据丢失,数组+链表
容量=16
扩容因子:0.75
转红黑树:>8和数组的大小 大于等于64
泊松分布。
Redis底层就是hash表。
concurrentHashMap
线程安全,加锁过程,
扩容
红黑树:treeMap 基于红黑树做的
这篇关于java并发多线程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南
- 2024-11-16MyBatis资料详解:新手入门与初级实战指南
- 2024-11-16MyBatisPlus资料:初学者入门指南与实用教程
- 2024-11-16MybatisPlus资料详解:初学者入门指南
- 2024-11-16MyBatisX资料:新手入门与初级教程
- 2024-11-16RESTful接口资料详解:新手入门指南