2
我需要創建一個類來包裝其他類和方法(第三方),這些類不是「線程安全」的。 我實際上想創建一個單線程類/方法。與被同步1種靜態方法同步方法,何時使用
public class SomeClass {
public static synchronized void performTask(int val) {
//interesting non-thread safe code...
ThisClass thisclass = new ThisClass();
thisclass.dostuff();
ThatClass thatclass = new ThatClass();
thatclass.dootherstuff();
HisClass hisclass = new HisClass();
hisclass.notsure();
}
1靜態類:
這應該這樣做。 所以如果多個對象使用/調用這個類。他們將不得不等待「在線」。如果負載很重,性能會受影響。
public class MyClass {
public void mytask() {
//interesting code
SomeClass.performTask(myval); // will wait if some other code block is in SomeClass.performTask?
}
你的問題是什麼? – StriplingWarrior
你可能不得不看看這個 http://stackoverflow.com/questions/437620/java-synchronized-methods-lock-on-object-or-class – SmartCoder
所以,如果多個對象正在使用/調用這個類,他們會等待「內聯」,並且如果重負載性能可能會受到影響? – Paul