同一个线程怎么调用多个被声明为synchronized的函数 (synchronized函数都是在同一个类中)

解决方案 »

  1.   

    这个貌似和syschronized 没有关系,可以随便调用多个,至于怎么调用。你的好好看看java基础。
      

  2.   

    不是啊,好多都是说 只能用线程start()方法进行启动 还能调用多个么
      

  3.   

    同一个线程怎么调用多个被声明为synchronized的函数 (synchronized函数都是在同一个类中)
      public class  Test implements Runnable{
        private int id=0;
        
        public  synchronized void add1(){
          id++;
         }
        public synchronized void add2(){
        id=id+2;
    }   
        public void run(){
        for(int i=0;i++;i<100){     add1();
         add2();}
    }public static void main(String [] args){   Thread t=new Thread(new Test(););
       t.start();}
    }用上面这个demo给你解释一下,随手写的,没编译过 有错误你自己改一下。首先弄清楚 实现 Runnable接口或者 继承Thread类实际上是定义了一个可以被线程驱动执行的任务,这个任务可以由一个线程执行,也可以由多个同时执行, 当多个线程共同访问共享区域时,就会产生问题, 所以 用
    synchronized 对共享区域进行互斥, 防止 多个线程同时访问共享区域。简单来说可以这么理解。
    从你的问题来说 , 你应该先去找本书仔细看看