sync加在方法上什么意思?就是说,在一个应用内,任何时间只能有一个地方对这个对象的这个方法进行调用。保证线性。
解决方案 »
- Calendar类的奇怪问题,望高手解答!!
- 奇怪的SQL
- 关于AbstractTableModel连接数据库( 界面能显示,可数据库记录一条都不显示)
- HttpURLConnection请求图片,为何返回数据这么少?
- 简单的抛出异常的问题
- 是IT人都应该看的(外包)
- 我是菜鸟,初学java遇到的错误,这个错误怎么解决呀?
- java replace() 替换字符串导致字符编码出现乱码 求解决
- 小弟菜,分也不多,各位大侠见谅
- 一个简单的编译错误信息,请指教。
- Java写的界面程序, AWT的, 在Mac下运行的权限问题
- 为什么在用MyEclipse6.5中,新建个类,那么长时间的等待(对话框中进度条不停地闪动)
可惜打印的地方不是同步的如果你把输出语句写在put和get函数内部,输出结果是唯一的
public synchronized void put(int i) {
...
System.out.println("Put "+i);
}
public synchronized int get() {
...
System.out.println("\tGet "+value);
return value;
}
输出唯一结果:
Put 1
Get 1
Put 2
Get 2
Put 3
Get 3
Put 4
Get 4
Put 5
Get 5
synchronized 静态方法才是包括类所有共享的数据
synchronized (isEmpty)
{
XXXX;
XXX;
XX;
X;
}
个人比较喜欢这种写法