Buongiorno,
ho realizzato una struttura (un array) bloccante che ha questi 2 metodi:
codice:
    public  void add(File f,int j){
        synchronized(shared){
        shared[j] = f;        
        shared.notifyAll();
         }
    }
    public File get(int index) throws InterruptedException{
        synchronized(shared){
           while(shared[i]==null)
               shared.wait();              
            return shared[index];
        }
Ho un thread che richiama il metodo get:
codice:
try{
shared.get(int i)
/*altre operazione tra cui lancio di un altro thread */
sleep(5000);
}
catch(InterruptedExcpetion e){
return;
}
Ho notato che quando invio un interrupt a questo thread la funzione get non è più bloccante, infatti mi legge un file vuoto. Come mai visto che quando catturo l'eccezione gli dico di fare solo un return?