本篇文章主要介绍了" 多线程之对象锁和类锁",主要涉及到方面的内容,对于Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
多个线程多个锁,一个对象就有一把锁类锁,static修饰示例:package com.zan;/*** 关键字synchronized取得的锁都是对象锁,而不是...
- 多个线程多个锁,一个对象就有一把锁
- 类锁,static修饰
示例:
package com.zan;
/**
* 关键字synchronized取得的锁都是对象锁,而不是把一段代码(方法)当做锁,
* 所以代码中哪个线程先执行synchronized关键字的方法,哪个线程就持有该方法所属对象的锁(Lock),
*
* 在静态方法上加synchronized关键字,表示锁定.class类,类一级别的锁(独占.class类)。
*
*/
public class MultiThread {
private static int num = 0;
// static
public static synchronized void print(String flag){
try {
if(flag.equals("a")){
num = 100;
System.out.println("falg a, set 100 over!");
Thread.sleep(1000);
} else {
num = 200;
System.out.println("flag b, set 200 over!");
}
System.out.println("flag " + flag + ", num = " + num);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
final MultiThread m1 = new MultiThread();
final MultiThread m2 = new MultiThread();
new Thread(new Runnable() {
@Override
public void run() {
m1.print("a");
}
},"t1").start();
new Thread(new Runnable() {
@Override
public void run() {
m2.print("b");
}
},"t2").start();
}
}
运行结果:

以上就介绍了 多线程之对象锁和类锁,包括了方面的内容,希望对Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_4588582.html