多线程知识点

作者: zcwfeng | 来源:发表于2020-06-16 11:19 被阅读0次

涉及的知识点,复习用

知识点

类锁
对象锁
syncronized:方法
syncronized(xxxx.class)
显示锁 Lock

wait()
sleep()
notify()
notifyAll()
线程状态:开始,[运行,就绪],[等待,等待超时],阻塞,结束

并行 并发

并发:一个线程完成多个事
并行:多个线程完成多个事

ThreadLocal: 多个线程访问一个资源的问题,每个线程都持有内部的一个副本。操作的是自己的副本。不需要同步。

结构 ThreadLocal 线程----维护内部---->threadLocalMap-----> 内部Entry[] 数组,数组元素组成 ThreadLocal<?> k, Object v>

CAS(Compare And Swap)

sync实现原子操作可以用锁

AutomicXXXX 系列类

悲观锁 (synchronized)总有刁民想害朕,先加锁 ----上下文切换

乐观锁 (CAS)先判断,重试 --------效率高

ABA问题:

线程1:A ---------------A---->B (1 的任务是 A->B)
线程2:A----->C-------A (2 做完自己事还原A 比A快)
解决:带上版本戳

AtomicMarkableReference 标记改过了
AtomicStampedReference 标记改了几次

开销问题

不满足条件不停地重复的尝试,直到成功为止。造成了开销

解决:考虑加锁机制

只能保存一个共享变量的原子操作问题

一个代码块同时改多个变量的值,CAS不适合

解决: 把多个操作 合并到一起 AtomicReference

相关文章

  • 第35节:Java面向对象中的多线程

    Java面向对象中的多线程 多线程 在Java面向对象中的多线程中,要理解多线程的知识点,首先要掌握什么是进程,什...

  • OC--各种线程锁

    参考:正确使用多线程同步锁@synchronized()iOS中的锁iOS多线程安全详解iOS 常见知识点(三):...

  • Java_多线程

    1.知识点: 1.介绍多线程2.线程安全 2.知识点的运用: 1.多线程的作用: 发挥多核CPU的优势,充分利用C...

  • AQS简简单单过一遍

    前言 回顾前面: 多线程三分钟就可以入个门了! Thread源码剖析 多线程基础必要知识点!看了学习多线程事半功倍...

  • Java锁机制了解一下

    前言 回顾前面: 多线程三分钟就可以入个门了! Thread源码剖析 多线程基础必要知识点!看了学习多线程事半功倍...

  • Lock锁子类了解一下

    前言 回顾前面: 多线程三分钟就可以入个门了! Thread源码剖析 多线程基础必要知识点!看了学习多线程事半功倍...

  • java多线程学习小案例

    多线程的小练习 需求:实现一次修改一次输出 主要知识点:多线程,同步,等待和唤醒

  • iOS多线程实现方案之 -- GCD

    昨天通过多线程实现方案之 -- NSThread说了关于 NSThread 多线程的一些知识点和用法, 其实之...

  • Java多线程 ----(1)多线程基础

    1、什么是多线程和使用多线程的意义2、多线程基础知识点框架图3、实现多线程的三种方式4、三种方式对比 1、什么是多...

  • 美团十年,我总结的Java核心知识点pdf(Java岗),请查收

    Java核心知识点从多个知识点分析: 包括JVM,Java集合,Java多线程并发,Java基础,spring原理...

网友评论

    本文标题:多线程知识点

    本文链接:https://www.haomeiwen.com/subject/teklxktx.html