黑马程序员技术交流社区
标题:
同步函数this锁到底是指的什么
[打印本页]
作者:
会飞De石头
时间:
2015-11-3 00:09
标题:
同步函数this锁到底是指的什么
有如下代码,一个测试类 ,一个实现了Thread类的线程类
//这是线程类
public class Lock extends Thread {
private int num = 50;
@Override
public void run() {
while (true) {
if (num > 0) {
method();
}
}
}
public synchronized void method() {
System.out.println(Thread.currentThread().getName() + "正在显示:" + num--);
}
}
复制代码
//这是测试类
public class Test {
public static void main(String[] args) {
// 创建线程
Lock l_A = new Lock();
Lock l_B = new Lock();
l_A.setName("小明");
l_B.setName("小强");
l_A.start();
l_B.start();
}
}
复制代码
问题是:
1、同步函数的锁到底是什么?
2、如果是this。如果证明测试类中 两个线程 使用的是同一个this?
3、如果是同一个this,这个this又是谁?
作者:
会飞De石头
时间:
2015-11-3 00:10
自己顶顶顶。。快来大鸟呀
作者:
会飞De石头
时间:
2015-11-3 00:12
再顶顶。块来大神呀,help !!!
作者:
大自然的搬运工
时间:
2015-11-3 02:13
新人来说说:
我看楼主这代码应该是不同步的吧 ,,this指当前对象,你这创建了两个对象线程,对象里的数据没有共享,两个对象各自执行自己的数据,所以涉及不到同步,添加同步感觉多余了。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2