Java面试题之多线程 在实现Runnable的接口中怎么样访问当前线程对象,比如拿到当前线程的名字?
在Java中,如果你实现了Runnable
接口并希望访问当前线程对象(例如获取当前线程的名字),你可以使用Thread.currentThread()
方法。这个方法返回一个对当前执行线程的引用。通过这个引用,你可以调用getName()
方法来获取线程的名字。
下面是一个简单的示例,展示了如何在实现Runnable
接口的类中访问当前线程的名字:
class MyRunnable implements Runnable {
@Override
public void run() {
// 获取当前线程对象
Thread currentThread = Thread.currentThread();
// 获取当前线程的名字
String threadName = currentThread.getName();
// 打印当前线程的名字
System.out.println("当前线程的名字是: " + threadName);
}
}
public class Main {
public static void main(String[] args) {
// 创建一个Runnable对象
MyRunnable myRunnable = new MyRunnable();
// 创建线程并传入Runnable对象
Thread thread1 = new Thread(myRunnable, "线程-1");
Thread thread2 = new Thread(myRunnable, "线程-2");
// 启动线程
thread1.start();
thread2.start();
}
}
在这个示例中,我们创建了一个实现了Runnable
接口的MyRunnable
类。在run
方法中,我们使用Thread.currentThread()
获取当前线程的引用,并通过getName()
方法获取线程的名字。然后,我们在main
方法中创建并启动了两个线程,每个线程都有自己的名字。运行程序后,你将看到每个线程打印出它自己的名字。