您现在的位置是:首页 >

Java2入门经典教程 11.2 管理线程[2]

火烧 2023-02-04 13:57:03 1080
Java2入门经典教程 11.2 管理线程[2] 同步方法 你可以使用任何类对象的方法子集甚至是全集互斥 因此在任何给定的时间只有一个方法能执行 通过使用关键字 y chro i ed在类中声明它们

Java2入门经典教程 11.2 管理线程[2]  

   同步方法

    你可以使用任何类对象的方法子集甚至是全集互斥 因此在任何给定的时间只有一个方法能执行 通过使用关键字synchronised在类中声明它们 你可以构造互斥的方法 例如

 class MyClass{synchronized public void methodl(){//Code for the method }synchronized public void method (){//code for the me method }public void method (){//code foe the method }}

    现在 在任意时刻 在类中只有一个同步方法可以执行 只有在当前正执行的同步方法结束后才能可以启动针对同一个对象的另一个同步方法 这里的想法是每个同步方法执行时 保证对对象独占访问 至少对涉及到的类对象的其他同步方法是这样

    同步过程使用了每个对象与相关的一个内部锁(lock) 该锁是一种标志 当一个同步方法启动执行时由称为加锁(locking)的过程设置 对一个对象的每个同步方法检查看看是否锁已被另一个方法设置 如果已设置 在重新设置成开锁方式前不能启动执行 因此 一次只能有一个同步方法执行 因为设置锁的方法阻止任何其他同步方法启动

    注意这里没有限制对同一类的两个不同对象同时执行同步方法 只是针对同时访问任一个被控制的对象

    在myClass类中的三个方法 两个被声明成synchronized 因此讨类的仟何一个对象 同一时刻只能执行一个方法 没被声明成同步的method ()总可以由线程执行 无沦同步方法是否正在执行

Java2入门经典教程 11.2 管理线程[2]
lishixinzhi/Article/program/Java/gj/201311/27746  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码