循環(huán)創(chuàng)建10個(gè)線程并輸出,但線程有時(shí)是5個(gè)有時(shí)是6個(gè),數(shù)量好像不是固定的10個(gè)
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(); }
輸出有時(shí)候是5條有時(shí)候是6條有時(shí)候甚至沒(méi)有,求解
2019-09-16
因?yàn)镴unit單元測(cè)試時(shí),如果主線程執(zhí)行結(jié)束則此單元測(cè)試也就結(jié)束了,這個(gè)時(shí)候子線程可能還沒(méi)執(zhí)行完就被殺死了。所以在你測(cè)試過(guò)程中輸出有時(shí)候是5條有時(shí)候是6條有時(shí)候甚至沒(méi)有是正常的。那么解決此問(wèn)題的思路也就有了:
要么直接粗暴的讓主線程執(zhí)行sleep
使用CountDownLatch
2021-05-16
你沒(méi)有使用junit的Test類進(jìn)行測(cè)試,請(qǐng)檢查
2019-07-06
數(shù)量怎么可能不是10呢你for的都是10,你好好試試看
2019-07-03
Junit單元測(cè)試不支持多線程,可以寫在main方法,也可以寫在測(cè)試類里,但是需要讓主線程sleep