0
我剛開始學習線程,我正在嘗試使用多線程。我不知道爲什麼method1()被調用兩次。任何幫助表示讚賞。謝謝!關於多線程 - 方法被調用兩次
我已經盡我所能來讓這個例子簡單/清除去除很多東西
class A implements Runnable {
public void method1() {
System.out.println("Method1");
}
public void methodThread(int numberOfThreads) {
List<Thread> threads = new ArrayList<Thread>();
for(int i=0; i<numberOfThreads; i++) {
Thread t = new Thread(this, "Thread - " +i);
t.start();
}
for(int i=0; i<numberOfThreads; i++) {
threads.get(i).join();
}
}
@Override
public void run() {
System.out.print(Thread.currentThread().getName() + this.method1());
}
public static void main(String[] args) {
A a = new A();
a.methodThread(1);
}
}
Expected output:
Thread - 0 Method1
Actual output
Method1 // Called again??
Thread - 0 Method1
這不會編譯 - 方法'method1'或'methodThread'沒有返回類型。 – rgettman
在method1()中添加一個斷點並檢查該調用堆棧。 – RhinoDevel
我只是想把sudo代碼:/ – user1799214