Нет, вы не блокируете класс, ваши статические методы не объявлены как синхронизированные, а также вы не блокируете экземпляр класса, потому что у вашего класса нет экземпляров.
Однако нет необходимостиобъявите ваши методы статическими, чтобы вызывать их из отдельных потоков.Ваш код будет работать так же, если вы не объявите ничего статического и вызовете методы для одного экземпляра.Это также был бы лучший подход, как правило, плохая идея объявлять что-то статичное, что не должно быть.Это затрудняет использование вашего кода в многопоточной или общей виртуальной машине (например, сервер приложений).
Кроме того, часто существуют более эффективные способы обеспечения безопасности потоков, чем свободное использование ключевого слова synchronized для отдельных объектов.Вы можете рассмотреть возможность использования BlockingQueue с ThreadPoolExecutor, настроенным для использования одного потока.