課程
/后端開發(fā)
/Java
/深入淺出Java多線程
問個簡單的問題,在給現(xiàn)成設(shè)定了名字時,為什么執(zhí)行run方法中打印線程的名字都是系統(tǒng)指定的名字,而不是我設(shè)定的名字?
2014-10-27
源自:深入淺出Java多線程 2-1
正在回答
正常來說Thread對象的setName方法就應(yīng)該生效。
這個需要分析代碼了。把你的代碼提出來吧。
hegang 提問者
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++) {
// 得到當(dāng)前線程的名字
String str = Thread.currentThread().getName();
System.out.println(str + ":" + i);
seno_0001
舉報
帶你一起深入淺出多線程,掌握基礎(chǔ),展望進(jìn)階路線
2 回答用extend Thread的方法創(chuàng)建線程和用繼承runnable接口的方法創(chuàng)建線程,有什么區(qū)別呢?
1 回答正確停止線程異議
1 回答中斷和阻塞的區(qū)別?
2 回答private EnergySystem energySystem 這個是什么? 創(chuàng)建對象嗎?還是聲明變量?
2 回答private final double[] energyBoxs;中為什么屬性名是小寫?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2014-10-27
正常來說Thread對象的setName方法就應(yīng)該生效。
2014-10-27
這個需要分析代碼了。把你的代碼提出來吧。
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++) {
// 得到當(dāng)前線程的名字
String str = Thread.currentThread().getName();
System.out.println(str + ":" + i);
}
}
}