Проблема в том, что Thread # join () генерирует проверенное исключение, и компилятор хочет, чтобы вы обработали это исключение. Проверенные исключения обычно обрабатываются либо сообщением о том, что ваш метод / функция может вызвать исключение, либо перехватом исключения.
В вашем конкретном случае, поскольку вы просто пишете простое приложение для тестирования производительности, самое простое решение - просто указать, что ваш код может выдать исключение.
public static void main(String[] args) throws InterruptedException {
Примером обработки исключения может быть что-то вроде этого:
try {
thread1.join();
thread2.join();
thread3.join();
thread4.join();
thread5.join();
thread6.join();
} catch (InterruptedException e) {
Thread.currentThread().interrupt(); //This is a best practice for handling the InterruptedException only
logger.log("The thread has been interrupted and should now exit quickly and cleanly. Processing may be incomplete.");
}