我有兩種情況:Java:可以2個線程真正同時在一個對象上運行相同的非同步方法嗎?
情況1:有2個線程,它們共享具有doSomething()方法的類的一個實例。 情況2:有2個線程,每個線程都有一個具有doSomething()方法的類的實例。
void doSomething() {
for (int i = 0; i < 20; i++) {
System.out.println(Thread.currentThread().getName());
}
當2個線程啓動時,它們都調用doSomething()。看看輸出,我看不出情況1和2
爲2個線程(線程A和B)的輸出是這樣的區別:AAAABBBAABBBB ....
你能告訴我情況1和2之間的併發差異?非常感謝!
無論如何,該方法應該是靜態的。 – SLaks 2013-04-29 15:18:07