Salut les Khey!
Pour une tâche, je dois créer un programme CLI en golang qui prend un argument n représentant le nombre d'émetteurs. Chacun des émetteurs doit émettre un message entre chaque 1 et 10 secondes. De l'autre côté, on a un receveur. Une fois que le receveur a reçu au moins un message de chaque émetteur, le programme s'arrête.
J'ai tout implémenté en utilisant des goroutines et une channel avec buffer, mais le programme bug à la fin. Au lieu d'imprimer un message de fin sur la console, et de s'arrêter proprement, le runtime se plaint d'un deadlock à cause du fait que toutes les goroutines soient endormies. J'imagine que le receveur continue de looper sur la channel malgré que la condition soit fausse et que j'ai fermé la channel. Et j'arrive pas à comprendre pourquoi
Quelqu'un pour aider ?