美文网首页
并发模型之线程与锁

并发模型之线程与锁

作者: 富贵山庄王动 | 来源:发表于2017-03-12 21:10 被阅读0次

三个问题

  • 竞态条件
  • 死锁
  • 内存可见性

规则

  • 访问共享变量时需要同步
  • 读线程和写线程都要同步化
  • 持有锁的时间应该尽可能短
  • 按照全局的固定的顺序来获得多把锁
  • 持有锁时避免调用外星方法

java中的一些问题

  • 编译器的静态优化可以打乱代码的执行顺序
  • JVM的动态优化也会打乱代码的执行顺序
  • 硬件可以通过乱序执行来优化其性能

线程

  • 有时候一个线程的修改 可能对另一个线程不可见

java内存模型

  • 如果读线程和写线程不进行同步,就不能保证可见性
  • 同步方法
    • 获取对象内置锁
    • 开启一个线程并且通过join()检查线程是否已经终止。
    • 使用java.util.concurrent包提供的工具

相关文章

  • 七周七并发模型

    七个模型来介绍并发与并行。 线程与锁:线程与锁模型有很多众所周知的不足,但仍是其他模型的技术基础,也是很多并 发软...

  • 并发模型之线程与锁

    三个问题 竞态条件 死锁 内存可见性 规则 访问共享变量时需要同步 读线程和写线程都要同步化 持有锁的时间应该尽可...

  • 总结Java的多线程处理--线程与锁(一)同步synchroni

    线程与锁模型 线程与锁模型是比较原始的一种处理并发的方式,主要是对底层硬件的运行过程形式化,这是它的优点也是缺点。...

  • 并发编程实战学习

    目录 线程风险 线程风险预防 线程安全设计 并发工具 显示锁 构建自定义的同步工具 java内存模型 并发编程 线...

  • 并发编程

    并发编程基础 Java线程模型 发生了系统调用的锁,就是重量锁 MMU: 虚拟地址映射 线程类型 用户线程:使用J...

  • Java-并发编程知识点总结

    目录: 线程基础 线程池 各种各样的锁 并发容器 原子类 Java 内存模型 线程协作 AQS 框架 一、线程基础...

  • java面试基础之高并发

    问:Java的并发、多线程、 线程模型; 问:数据一致性如何保证;Synchronized关键字,类锁,方法锁,重...

  • 并发整理(一)— Java并发底层原理

    现已全部整理完,其他两篇并发整理(二)— Java线程与锁并发整理(三)— 并发集合类与线程池 本篇主要是底层的东...

  • java并发

    1.并发编程中的锁 并发编程中的各种锁java高并发锁的3种实现Java并发机制及锁的实现原理 2.线程池核心线程...

  • Netty线程模型及EventLoop详解

    作者: 一字马胡 转载标志 【2017-11-03】 更新日志 线程模型与并发 什么是线程模型呢?线程模型指定了...

网友评论

      本文标题:并发模型之线程与锁

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