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下一篇:
js箭头函数和普通函数的区别