ift6802 - H03

TP1: synchronization (5%)

Modification: date de remise retardee a la classe suivante.

On vous demande de faire un programme qui demontre un algorithme pour la creation de "couples".

Votre programme doit implanter 2 sortes de Threads: des "gars" et des "filles" et creer une dizaine de chaque. Ces Threads alternent entre "travailler" et frequenter un "Bar" avec une methode "getPartenaire". L'idee est que pour quitter le bar il faut qu'un gars et une fille se soient mis ensemble. Prenons la situation pour une fille (C'est exactement la meme chose pour un gars). S'il y a des gars dans le bar quand une fille arrive, elle sort immediatement avec un des gars; sa methode getPartenaire retourne une reference vers le gars et la methode du gars en question retourne une reference vers la fille. S'il n'y a pas de gars dans le bar, la fille attend.

Votre programme devrait avoir des traces qui montrent le bon fonctionnement de votre solution; Par exemple, si un X obtiens Y comme partenaire, est-ce que le partenaire de Y est X ?

Afin de montrer que le bon fonctionnement n'est pas l'effet du hasard, inserez des enonces de passage de temps aleatoire (Zzzz()) a tous les endroits critiques.

Le TP se fera individuellement en Java. Soumettez votre solution avec "remise"

    % remise ift6802 tp1 [ ...]
    
avant le debut du cours mercredi 22 janvier mardi le 28 janvier.   

Jean Vaucher (14 jan 2003)
modi