Самый первый поток, который захватит лок, обновит токен. Если в это время придут другие потоки, они пойдут в else наткнутся на lock.lock() и будут ждать пока токен не обновится. Как только токен обновится, сработает unlock в finally и ожидающие потоки продолжат кидать запросы, но уже с новым токеном. Вроде все правильно.
Обсуждают сегодня