Me ajudem nesses dois código, Linguagem Java

1- Considere que uma Thread só possa prosseguir quando a variável ‘seguir’ seja igual a 1. Crie um guarded-block para essa condição. Não omita eventual tratamento de exceção.

2- Considere que ‘declaracao’ é uma variável Statement. Escreva uma linha de código para inserir, usando esta variável, o valor ‘andre’ na coluna ‘nome’ da tabela ‘professor’.

Para criar um guarded-block para essa condição, podemos utilizar o método wait() da classe Object em conjunto com um loop while que verifica se a condição foi atendida. Quando a condição for satisfeita, podemos utilizar o método notify() ou notifyAll() para notificar as threads bloqueadas.

public class ExemploGuardedBlock {
    private int seguir = 0;

    public synchronized void setSeguir(int valor) {
        seguir = valor;
        notifyAll(); // Notifica as threads bloqueadas
    }

    public synchronized void metodoThread() {
        while (seguir != 1) {
            try {
                wait(); // Aguarda a variável seguir ser igual a 1
            } catch (InterruptedException e) {
                // Tratamento de exceção
            }
        }
        // Código da thread que segue
    }
}

Assumindo que o objeto Connection e a variável declaracao já foram inicializados corretamente, a linha de código para inserir o valor ‘andre’ na coluna ‘nome’ da tabela ‘professor’ seria algo próximo disso:

declaracao.executeUpdate("INSERT INTO professor (nome) VALUES ('andre')");