Greetings !!

Je voudrais effectuer le portage d'une application initialiement écrite en C en Rust, mais l'implémentation des conditions variables me posent des soucis.

Le programme doit lancer une série de threads qui se mettraient en attente et puis le thread principal après avoir "préparé le terrain" enverrait un signal à tous les threads en attente, ensuite ce même programme principal s'occuperait de récupérer les résultats...
Ce dernier doit attendre que tous les threads aient terminé.

Questions: je ne trouve pas d'exemples probants par rapport à ce que je voudrais faire, du coup je suis un peu démunis.
Je bouquine mais rien ne me donne de piste précise: l'utilisation de Arc m'est complètement farfelue, même si apparemment c'est utile pour éviter les "race conditions"...

A priori je ne devrais pas craindre de "race conditions" dans l'exécution de mon programme, l'important c'est que les threads se déclenchent à un instant 'T', c'est le plus important, les threads vont juste produire des données à travers le réseau mais pour le coup ils doivent
démarrer "tous ensembles", pour "simuler" un "flood".