JAVA多线程

关于Sychronized的几种用法

  • 1

sychronized(this){

xxxx

}

这种情况是针对对象而言的,几个线程若同时对一个对象实例,则只有一个线程可以执行该代码段,但如果针对的是不同的对象实例,则不受影响

  • 2

public sychronized method()
{

xxx

}

这种情况是对对象方法上锁,若几个线程针对的对象实例是同一个,则只有一个线程能够访问该方法,且无法访问其他sychronized方法,但非sychronized方法则不受限制

  • 3

public static sychronized method(){

xxx

}

这是对类方法上锁,只要是针对这一类的对象的线程,不管是否为统一对象实例,都只有一个线程能够访问该方法。

posted @ 2019-04-01 19:34  愤怒的大猪蹄  阅读(113)  评论(1编辑  收藏  举报