zoukankan      html  css  js  c++  java
  • 05_线程同步

    引入:两人同时取同一账户的钱 两个线程访问同一资源,进程之间协调的问题

    解决:在进程访问独占资源时先锁定再访问 synchronized 最好只锁定一个对象

    加锁过程中:一个方法做了同步(加锁)另一个方法没有做同步,别的线程可以访问没做同步的方法,并且能影响已经同步的方法,要保护需要的同步的对象,必须对要访问的对象所有方法要仔细考虑加不加同步,加同步效率变低,不加同步有可能产生数据不一致的后果

    读写两方法,写的方法加锁。

    两个方法都改了同一个值,两个方法都应该加同步



    输出:

    t2,你是第1个使用timer的线程
    t1,你是第2个使用timer的线程


    改掉其中一段代码


    就可以输出:

    t1,你是第1个使用timer的线程
    t2,你是第2个使用timer的线程

  • 相关阅读:
    int 和 Integer 有什么区别?
    内部类可以引用它的外部类的成员吗?有没有什么限制?
    为什么Java不支持运算符重载?
    生命周期内create和mounted的区别?
    JSP有哪些动作?分别是什么?
    vue解除双向绑定?
    实现一个函数功能:sum(1,2,3,4..n)转化为 sum(1)(2)(3)(4)…(n)?
    新旧生命周期?
    vue异步组件?
    XML文档约束有哪几种?有什么区别?
  • 原文地址:https://www.cnblogs.com/firecode/p/2460902.html
Copyright © 2011-2022 走看看