Java教程

java并发多线程

本文主要是介绍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并发多线程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!