synchronized 同步疑惑


package com.atguigu.docker.锁;

import lombok.SneakyThrows;

public class t2 extends  Thread{
    static int aa=1;


    @Override
    public void run() {
        n();
    }


        public  synchronized void  n(){
           while (aa<100){
              aa+=1;
                System.out.println(Thread.currentThread().getName()+"aa="+aa);

        try {
            Thread.sleep(100);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }}

    }



    }


   t2 s2 = new t2();
        t2 s3 = new t2();
        t2 s4 = new t2();
      s2.start();
    s3.start();
     s4.start();

这里有三个实例, synchronized 锁的this是哪个? 这里的同步成功了吗

synchronized 在类的普通方法上锁的是这个对象,你这里new了3个对象,每一个锁住的都是自己,相当于没锁啊。