recherche

Maison  >  Questions et réponses  >  le corps du texte

java - 为什么ThreadPoolExecutor源码实现中用的是ReentrantLock锁?

private boolean addIfUnderCorePoolSize(Runnable firstTask) {
        Thread t = null;
        final ReentrantLock mainLock = this.mainLock;
        mainLock.lock();
        try {
            if (poolSize < corePoolSize && runState == RUNNING)
                t = addThread(firstTask);
        } finally {
            mainLock.unlock();
        }
        if (t == null)
            return false;
        t.start();
        return true;
    }

ThreadPoolExecutor源码实现中大量使用了ReentrantLock 锁,请问为什么使用的是ReentrantLock 锁而不是别的锁机制呢?

PHP中文网PHP中文网2803 Il y a quelques jours876

répondre à tous(0)je répondrai

Pas de réponse
  • Annulerrépondre