Mmmm...Ne pas oublier que c'est l'OS qui va gérer les threads.
PureBasic - Thread
« Un thread s'exécute à l'intérieur du programme, il ne s'agit pas d'un autre processus. Lorsque le programme se termine, tous les threads sont détruits. Sous PureBasic, les threads sont des procédures appelées de manière asynchrone. Un thread tourne jusqu'à ce que la procédure se termine. »
@boddhi
« Note: Les threads doivent être utilisés avec précaution, car il est possible que des ressources partagées (mémoire, fichiers, variables etc..) soient accédées au même moment ce qui causera des résultats aléatoires. Les commandes relatives aux 'Mutex' peut être utilisées pour synchroniser ces ressources partagées. »
Découper un programme en un tas de threads ne le fera pas tourner globalement plus vite. Ça permet simplement de libérer l'interface principale. Pour arrêter un thread, on utilisera plutôt PostEvent (en envoyant un flag de fin pour quitter la procédure) que KillThread. Un thread qui en appelle un autre etc va vite devenir ingérable...
