在Runnable上设置id

use*_*715 0 java multithreading android

如何在此代码中在Runnable上设置id

Runnable rd = new Runnable() {
    @Override
    public void run() {
        populatePanel(referList.get(handler.getPosition()), handler.getPosition());
        if (i == referList.size() - 1) {
            i = 0;
        }
    }
};
handler.postDelayed(rd, delay);
Run Code Online (Sandbox Code Playgroud)

我想区分一个线程与其他线程

Eri*_*agt 5

您可以在线程上设置名称,而不是在Runnable上,例如使用以下命令:

    RunnableJob runnableJob = new RunnableJob();

    Thread thread1 = new Thread(runnableJob);
    thread1.setName("thread1");
    thread1.start();

    Thread thread2 = new Thread(runnableJob, "thread2");
    thread2.start();

    Thread thread3 = new Thread(runnableJob);
    thread3.start();

    Thread currentThread = Thread.currentThread();
    System.out.println("Main thread: " + currentThread.getName() + "(" +currentThread.getId() + ")");
Run Code Online (Sandbox Code Playgroud)

这将打印以下内容:

RunnableJob is being run by thread1 (11)
RunnableJob is being run by thread2 (12)
Main thread: main(1)
RunnableJob is being run by Thread-1 (13)
Run Code Online (Sandbox Code Playgroud)

来源于.