Pour l'exercice 2 (moniteurs en Java), les tudiants peuvent utiliser Tester.java pour tester le
code de leur classe. En principe, le tout devrait pouvoir se compiler comme ceci:

javac -classpath . ReaderWriter.java
javac -classpath . Tester.java

L'application Tester se lance ensuite avec 

java -classpath . Tester

L'application dmarre 10 threads (lecteurs ou rdacteurs) en utilisant le 
moniteur dans ReaderWriter. Tester affiche ensuite les entres et sorties 
de la section critique, ce qui permet  l'tudiant de lancer quelques 
tests pour voir si son code ne marche pas (sections critiques qui se 
chevauchent, interblocages). Les oprations de lecture/criture sont 
'simuls' par des attentes entre 0 et 5 secondes.

On a videmment "Solution correcte => L'excution de Tester sera 
correcte", par contre, une excution correcte de Tester n'implique pas 
forcment que la solution est correcte.

Tester permet galement de se faire une ide quant  la proprit de 
"priorit gale" de la solution. L'ordre d'arrive des processus est
donn par les "x waiting for critical section" (x: numro du processus).
L'ordre de ces "x waiting..." devrait ensuite se retrouver dans les
"READER/WRITER (x) in critical section" (ceci n'est toutefois pas garanti,
car si un processus se fait interrompre juste aprs avoir crit 
"x waiting for critical section", il pourrait se faire dpasser par un
autre processus).
