作者Dong0129 (阿东)
看板java
标题[问题] 用thread印出log不如预期...
时间Mon May 11 09:55:52 2020
各位版友好,我写了一个简单的程式,利用2个分别印出5行log,
结果发现thread印出的log不如预期...请问是我写错了吗?
Runnable runnable=new Runnable(
{
@Override
public void run(){
for(j=0;j<5;j++)
Log.i(tag,Thread.currentThread.getName());
}
}
for(i=0;i<2;i++)
{
Thread thread=new Thread(runnable);
thread.setName(根据i值设定名称);
try{
thread.start();
thread.join();
}catch(InterruptedException e){}
结果一个thread只印出两次名字,请问我有写错吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.137.192.46 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1589162154.A.A5A.html
1F:→ LZN: 有完整code吗? 我试起来两个thread各印5次没错啊05/11 11:42
2F:→ ssccg: 你这程式根本不能跑,我改到能跑之後一个thread印5次没问题05/11 14:36
https://i.imgur.com/1FHPIiM.jpg
https://i.imgur.com/ls8DHZU.jpg
※ 编辑: Dong0129 (111.249.97.154 台湾), 05/11/2020 21:16:42
3F:推 dpes10087: 没写错,你直接在getName()後加上+j就会正常印出。05/12 10:51
4F:→ dpes10087: 你不能显示的主因是因为logcat的chatty机制,会把重复05/12 11:04
5F:→ dpes10087: 的中间内容改以chatty : 'identical X lines'显示。05/12 11:06
原来如此,谢谢!
※ 编辑: Dong0129 (114.137.95.33 台湾), 05/12/2020 17:25:08