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

并发模型之线程与锁

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

    三个问题

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

    规则

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

    java中的一些问题

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

    线程

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

    java内存模型

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

    相关文章

      网友评论

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

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