1. ホーム
  2. java

[解決済み] スレッドプールからスレッドIDを取得するには?

2022-05-11 02:45:10

質問

私は固定スレッドプールを持っていて、そこにタスクを投入しています (限定的ですが) 5 スレッドに制限されています)。どのように私はそれらのうちの1つを見つけることができます 5 のスレッド #3 のようなもの)を見つけることができますか? 5 はこのタスクを行っています")?

ExecutorService taskExecutor = Executors.newFixedThreadPool(5);

//in infinite loop:
taskExecutor.execute(new MyTask());
....

private class MyTask implements Runnable {
    public void run() {
        logger.debug("Thread # XXX is doing this task");//how to get thread id?
    }
}

どのように解決するのですか?

使用方法 Thread.currentThread() :

private class MyTask implements Runnable {
    public void run() {
        long threadId = Thread.currentThread().getId();
        logger.debug("Thread # " + threadId + " is doing this task");
    }
}