Tra*_*ker 9 java synchronization properties
我知道Properties类是Hashtable的子类.所以所有继承的方法都是同步的,但是属性的其他方法如store,load等呢?(专门处理Java 1.6)
我总是发现文件免责声明误导,特别是初学者(如果不是你的情况,请原谅).
此类是线程安全的:多个线程可以共享单个Properties对象,而无需外部同步.
即使是线程安全的类也需要比你想象的更多的同步.在这些类上同步的是它们的方法,但通常用户在更复杂的上下文中使用这些类.
如果你只是放/得到它是好的,但有更多的代码事情变得更紧:
p.putProperty("k1","abc");
p.putProperty("k2","123");
String.out.println(p.get("k1")+p.get("k2"));
Run Code Online (Sandbox Code Playgroud)
此示例代码仅在多线程环境中打印shure"abc123",如果该部分是同步块(即使这样也可能出错).
出于这个原因(以及courrse性能)我更喜欢非线程安全类,我不得不思考:我的程序线程是否安全...
归档时间: |
|
查看次数: |
7825 次 |
最近记录: |