黑马程序员技术交流社区
标题:
对于synchronized的一点疑问
[打印本页]
作者:
宋超2356
时间:
2014-4-15 11:47
标题:
对于synchronized的一点疑问
本帖最后由 宋超2356 于 2014-4-15 15:59 编辑
public class TestSync implements Runnable {
Timer timer = new Timer();
public static void main(String[] args) {
TestSync test = new TestSync();
Thread t1 = new Thread(test);
Thread t2 = new Thread(test);
t1.setName("t1");
t2.setName("t2");
t1.start();
t2.start();
}
public void run(){
timer.add(Thread.currentThread().getName());
}
}
class Timer{
private static int num = 0;
public synchronized void add(String name){
//synchronized (this) {
num ++;
try {Thread.sleep(1);}
catch (InterruptedException e) {}
System.out.println(name+", 你是第"+num+"个使用timer的线程");
//}
}
}
复制代码
类似
synchronized的用法里,如果一个方法被
synchronized修饰,但是其他方法还可以访问它里面的变量是么?
作者:
月光海
时间:
2014-4-15 12:44
?synchronized可以修饰类?类的修饰符不是只有public abstract 和final吗?synchronized不是用在方法上和方法内部的吗?
作者:
shi0000
时间:
2014-4-15 12:59
synchronized是将多个方法或方法体做记号,使其能够共享一个数据。例如:
你是煤炭厂商,你签约了给你运煤的厂商和拉走煤的厂商。由你定义好的同步,即只有运来煤后,拉走煤的
厂商才能来拉煤。
所以他是不能修饰类的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2