Salve, mi chiedevo se, data la classe buffer:
costituita da:

- un array che chiameremo A
- un metodo put
-un metodo get

è possibile per un thread(che deve inserire un oggetto)che chiameremo "OCCUPACELLALIBERA" prendere il lock, solo su una cella e non su tutto l'array.MI spiego meglio vorrei che i thread di questo tipo potessero tutti scorrere l'array per cercare la cella ,ma solo una volta trovata prendere il lock su QUESTA SOLA.E' un caso analogo ad un esercizio che devo fare,ma che non riporto perchè la traccia è troppo lunga

Ecco il metodo put della classe buffer:
codice:
void put(){
    
     try{     
      // bla bla----(operazioni senza esclusione)
        
       ricercaCellaLIbera();
  //tutti i thread lo possono fare in quanto ad ogni thread serve una cella!!
  //una volta trovato l'indice ogni thread deve prendere il lock su quella cella per lavorarci!
  

    }catch(Exception E){}
    
}

gentilmente siate chiari,non sono pratico con i thread ancora ed ogni volta che mi trovo davanti una traccia d'esame è una battaglia,spero di essermi spiegato bene ...