为什么要
Thread.currentThread().getName()返回正确的线程名称而又this.getName()返回其他?
您的
DrawThread课程,
extends Thread但随后您通过调用以下内容开始:
new Thread(new DrawThread(...));
这是不正确的。这意味着创建的线程实际是 不 一样
Thread的
DrawThread。
DrawThread应该实现
Runnable而
不是 扩展线程。您的代码可以工作,因为线程也是可运行的。
public class DrawThread implements Runnable {因为有两个线程对象,所以当您调用
this.getName()的
DrawThread对象不是实际运行的线程时,因此其名称设置不正确。仅设置包装线程的名称。在
DrawThread代码内部,应调用
Thread.currentThread().getName()以获取运行线程的真实名称。
最后,你的类也许应该是
DrawRunnable,如果它
implements Runnable。:-)



