首先,同步代码块锁定的范围要比同步方法锁定的范围小,同步代码块只锁定临界区的资源。(临界区资源就是共享资源的意思)
其次,在同步代码块中,我们可以自由的选择任何一个java对象实例作为同步过程中要使用到的锁。但是对于实例同步方法而言,这个锁是不能选择的,就是这个对象实例。对于静态同步方法而言,这个锁就是类的class对象实例
首先,同步代码块锁定的范围要比同步方法锁定的范围小,同步代码块只锁定临界区的资源。(临界区资源就是共享资源的意思)
其次,在同步代码块中,我们可以自由的选择任何一个java对象实例作为同步过程中要使用到的锁。但是对于实例同步方法而言,这个锁是不能选择的,就是这个对象实例。对于静态同步方法而言,这个锁就是类的class对象实例