Partecipante e' ok, tranne il run. Ogni classe rappresenta un songolo partecipante, quindi non devi tentare di occupare tutte le n sedie, ma basta una.
codice:
/* Metti una variabile che punta alla classe OccupaSedie che crea il partecipante.
 * Nel costruttore istanzi la variabile.
 */
public void run() {
   try{
      wait();
      nomeVariabileChePuntaAdOccupaSedie.occupaSedia();
   }
   catch(InterruptedException e) {}
}
Poi in un altra classe (Test) ti scrivi il main che crea un oggetto occupaSedie e inizia il gioco.
Il punteggio e' memorizzato dentro ogni partecipante. Il main farebbe un for di numSessioni volte in cui chiama iniziaSessione e FineSessione. Poi in fondo, stampa i risultati totali. Magari metti in OccupaSedie un ulteriore metodo che cicle sullArray di partecipanti e per ogni partecipante stampa il punteggio.
P.s. Scusa l'edit, ma non avevo risposto all'ultima domanda.