synchronized语法

synchronized( ){

}

synchronized 关键字是加锁的意思,用它来修饰方法就表示给该方法加了锁,从而达到线程同步的效果;用它来修饰代码块就表示给该代码块加了锁,从而达到线程同步的效果。

括号中的内容:

1.同一个对象:最低标准是this,或者是当前对象的实例变量 (切记不是局部,若是局部的话,可能会每次都产生一个新的对象,那么每个线程进来后都可以直接进入该代码块,没有实现线程排队)。

2.同类的不同对象:最低标准是用类级别的静态变量、当前类的类对象、或者这两个对象共享的一个变量。

3.不同类不同对象:用Object类的Class对象、共享对象。

关键思想: 括号中只要是对象共享的就行。

posted @ 2020-08-31 23:32  jamers  阅读(200)  评论(0编辑  收藏  举报