Wait & Notify Flashcards

(7 cards)

1
Q

cosa succede se chiamo il metodo wait() su un oggetto sul quale un thread ha il lock?

A
  • il lock dell’oggetto viene rilasciato
  • il thread va in stato di waiting

dopo il wait(), altri thread potranno ottenere il lock

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

cosa succede se chiamo il metodo notify() o notifyAll()?

A
  • col notify() sveglio un solo thread che in attesa sull’oggetto sul quale chiamo il notify.
  • col notifyAll() sveglio tutti i thread in attesa su quell’oggetto
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

cos’è il “wait-set” di un oggetto?

A

è l’insieme dei thread che sono in attesa su quel determinato oggetto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

quali eccezioni lanciano i metodi wait e notify?

A

Wait:
- IllegalMonitorStateException
- InterruptedException

Notify:
- IllegalMonitorStateException

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

cosa si può fare per evitare eccezioni?

A

controllare le variabili tramite delle “variabili condizione”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

cosa succede se uso notify su un oggetto che non è in waiting?

A

il notify non fa niente

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

quando usare notify e quando notifyAll?

A
  • usare notify quando i thread sono solo due
  • usare notifyAll quando i thread sono piu di due
How well did you know this?
1
Not at all
2
3
4
5
Perfectly