亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

循環創建10個線程并輸出,但線程有時是5個有時是6個,數量好像不是固定的10個

for(int?i=0;?i<10;?i++){
????new?Thread(new?Runnable()?{
????????public?void?run()?{
????????????Bean?bean?=?context.getBean("testBean",?Bean.class);
????????????System.out.println("bean="+bean);
????????}
????}).start();
}

輸出有時候是5條有時候是6條有時候甚至沒有,求解

正在回答

4 回答

因為Junit單元測試時,如果主線程執行結束則此單元測試也就結束了,這個時候子線程可能還沒執行完就被殺死了。所以在你測試過程中輸出有時候是5條有時候是6條有時候甚至沒有是正常的。那么解決此問題的思路也就有了:

  1. 要么直接粗暴的讓主線程執行sleep

  2. 使用CountDownLatch

0 回復 有任何疑惑可以回復我~

你沒有使用junit的Test類進行測試,請檢查

0 回復 有任何疑惑可以回復我~

數量怎么可能不是10呢你for的都是10,你好好試試看

0 回復 有任何疑惑可以回復我~

Junit單元測試不支持多線程,可以寫在main方法,也可以寫在測試類里,但是需要讓主線程sleep

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

循環創建10個線程并輸出,但線程有時是5個有時是6個,數量好像不是固定的10個

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號