提出問題:
* 子執行緒迴圈 10 次,接著主線程迴圈 100 次,接著又回到子執行緒迴圈 10 次,接著再回到主線程又迴圈 100 次。如此迴圈50次。
分析:這個實際上是非常easy的問題。即子執行緒run,主線程堵塞--->子執行緒堵塞,主線程run
可以使執行緒堵塞的方法有非常多,最常見的是sleep與wait。當然,須要控制的話,用wait/notify。
子執行緒與主線程共同操作乙個resource 物件。而resource物件中由兩個方法分別實現子執行緒與主線程的操作
物件**例如以下:
package treadgame;
/** * 執行緒間的交流1
* 子執行緒迴圈 10 次,接著主線程迴圈 100 次。接著又回到子執行緒迴圈 10 次,
* 接著再回到主線程又迴圈 100 次。如此迴圈50次
* @author lcx
* */
public class threadexchange1 }}
class resource
catch (interruptedexception e)
} for(int i=1;i<=100;i++)
system.out.println("主線程迴圈次數 "+i);
issub=!issub;
notify(); }
public synchronized void runsub()
catch (interruptedexception e)
} for(int i=1;i<=10;i++)
system.out.println("子執行緒迴圈次數 "+i);
issub=!issub;
notify(); }
}class sub implements runnable
public void run() }
}
WPF 多執行緒 子執行緒操作介面主線程的元素
1 在 中開啟乙個子執行緒 thread cabservice new thread new threadstart datareceiver cabservice.start 每隔2s 產生乙個資料 public void datareceiver thread.sleep 2000 2 定義 和...
主線程 子執行緒死掉 主線程可以在子執行緒之前死掉
我相信主線程不能在子執行緒之前死亡。但是有什麼方法可以檢查嗎?我在下面寫了乙個簡單的程式。任何人都可以證明它實際上離開理論嗎?class childre extends thread public void run for int i 0 i 10 i system.out.println chil...
android 實現主線程 子執行緒雙向通訊
在 android 中,不可以在子執行緒中更新 ui 的操作,否則會報錯或者異常資訊。在這種情況下,我們會使用 handler 在 ui 執行緒建立該物件 接收子執行緒的訊息更新 ui.可以看出,這是子執行緒通知主線程,而主線程沒有直接通知子執行緒,那麼我們如何做到這一點?這樣有什麼好處?好處,很明...