zoukankan      html  css  js  c++  java
  • 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法

    当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法
    对象的synchronized方法不能进入了,但它的其他非synchronized方法还是可以访问的。

    原因很简单:锁对象只有一个  一次只能被一个线程拥有 而访问非同步方法不需要锁对象

     1 public class TT implements Runnable {
     2      int b = 100;
     3      public synchronized void m1(){
     4             b = 10000;
     5             try {
     6                 Thread. sleep(5000);
     7                 System. out.println( "m1----b="+ b);
     8            } catch (InterruptedException e) {
     9                 e.printStackTrace();
    10            }
    11      }
    12      public void m2(){
    13            System. out.println( "m2====="+ b);
    14      }
    15      @Override
    16      public void run() {
    17            m1();
    18      }
    19      public static void main(String[] args) {
    20            TT tt = new TT();
    21            Thread t = new Thread(tt);
    22            t.start();
    23             try {
    24                 Thread. sleep(1000);
    25            } catch (InterruptedException e) {
    26                 e.printStackTrace();
    27            }
    28            tt.m2();
    29      }
    30 }
  • 相关阅读:
    python模块添加
    Python 的列表排序
    python中文处理问题
    排序算法堆排序
    搜索二分搜索
    排序算法(随机)快速排序(递归)
    排序算法计数排序
    OO设计原则总结
    异常控制以及进程调度
    ubuntu12.04 alternate win7 双系统安装
  • 原文地址:https://www.cnblogs.com/wihainan/p/4766694.html
Copyright © 2011-2022 走看看