java synchronized 变量_Java Synchronized的用法

synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种:

1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象;

2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象;

3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象;

4. 修改一个类,其作用的范围是synchronized后面括号括起来的部分,作用主的对象是这个类的所有对象。

修饰代码块

packagecom.qhong;public classMain {public static voidmain(String[] args) {

SyncThread syncThread= newSyncThread();

Thread thread1= new Thread(syncThread, "SyncThread1");

Thread thread2= new Thread(syncThread, "SyncThread2");

thread1.start();

thread2.start();

}

}class SyncThread implementsRunnable {private static intcount;publicSyncThread() {

count= 0;

}public voidrun() {synchronized(this) {for (int i = 0; i

synchronized是Java中的关键字,是一种同步锁。它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个代码块的对象; 2. 修饰一个方法,被修饰的方法称为同步方法,其作用的范围是整个方法,作用的对象是调用这个方法的对象; 3. 修改一个静态的方法,其作用的范围是整个静态方法,作用的对象是这个类的所有对象; 4. 修改一个类,其作用的范围是synchronized后面括号括起来的部分,作用主的对象是这个类的所有对象。 修饰代码块 packagecom.qhong;public classMain {public static voidmain(String[] args) { SyncThread syncThread= newSyncThread(); Thread thread1= new Thread(syncThread, "SyncThread1"); Thread thread2= new Thread(syncThread, "SyncThread2"); thread1.start(); thread2.start(); } }class SyncThread implementsRunnable {private static intcount;publicSyncThread() { count= 0; }public voidrun() {synchronized(this) {for (int i = 0; i
经验分享 程序员 微信小程序 职场和发展