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

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

問個簡單的問題,在給現成設定了名字時,為什么執行run方法中打印線程的名字都是系統指定的名字,而不是我設定的名字?

正在回答

3 回答

正常來說Thread對象的setName方法就應該生效。

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

這個需要分析代碼了。把你的代碼提出來吧。

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

hegang 提問者

code是下面的樣子~
2014-10-31 回復 有任何疑惑可以回復我~

public class TestThread {

public static void main(String[] args) {

ExecutorService service = Executors.newFixedThreadPool(2);

RunnableTest rt = new RunnableTest();

Thread t1 = new Thread(rt, "t1");

Thread t2 = new Thread(new RunnableTest(), "t2");

service.execute(t1);

service.execute(t2);

}

}

class RunnableTest implements Runnable {

public void run() {

for (int i = 0; i <= 20; i++) {

// 得到當前線程的名字

String str = Thread.currentThread().getName();

System.out.println(str + ":" + i);

}

}

}


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

seno_0001

你這個是用線程池代理了。如果你用t1.start();這樣就會打印出你設置的名字了。
2014-11-03 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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