Salut à tous.
Je dois réaliser un programme qui simule un routeur à partir de communications udp. Pour ce faire, j'utilise plusieurs threads. Un pour chacun des liens vers un autre routeur, et un pour le routeur. En gros, il faut que je fasse communiquer un thread lien avec un thread routeur et vice-versa. Il est évident qu'une classe implémentant Queue, du jdk 5, est la solution la plus simple pour ce genre de cas de figure. L'ennui, c'est que je ne m'y retrouve vraiment pas avec toutes les implémentations de cette interface qu'il existe dans le jdk, ce n'est pas comme les autres collections où on a une implémentation recommendée par défaut (List->ArrayList, Map->HashMap,...)
En gros il me faudrait une implémentation qui:
- n'aie pas de limite de taille (en théorie un routeur en possède mais je veux faire un programme qui aie le moins de chances possibles de planter à la démonstration)
- puisse bloquer le thread qui tente une lecture, mais pas si il tente une écriture
- qu'on puisse configurer un time out sur la queue, ou au pire faire un test de présence de données (un peu comme pour les connexions réseau, sauf qu'au lieu d'échanger les bytes j'échange des objets)
Voila, si quelqu'un connait bien cette api et pouvait me faire une petite explication (les sites sont assez mal documentés), ça me rendrait bien service.
Merci d'avance.
Partager