non so quanto vi possa essere utile:

java.lang.IllegalMonitorStateException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at Professor.ProfessorMulti$1.run(ProfessorMulti.java :104)
at java.lang.Thread.run(Unknown Source)

sollevata in corrispondenza della wait

non penso di essere obbligato a dichiarare la variabile all'interno dello stesso thread...