tout ça c'est de la sémantique !
pour toi avec MLF seul compte le Flag de compilation
/Thread
si une serie de Proceduredll doit etre utilisées dans des Threads alors tu position ce Flag point barre !
si une serie de proceduredll ne doivent pas utiliser de Thread, il ne faut pas positionner ce flag
si une serie de procedureDll doivent etre utilisé en mode Thread, et sans mode Thread
tu positionnes le Flag, et tu nommes tes procedures concerné avec "
_Thread"
ET tu copie les meme procedures DLL SANS l'extention "
_Thread"
voila comment je vois le truc (il me semble que tu le fait deja bien )
apres , il y a l'historique de Purebasic :
au debut, Purebasic n'avait pas la possibilité des Chaines infinie , une chaine ne devait pas dépasser une longueur
ce qui posait pas mal de probleme, surtout utilisé avec des Threads ... (dépassement de chaine courant )
mais depuis l'arrivée de la bibliothèque Thread de la Version 4.00
Fred a corrigé la longueur des Chaines, elles sont devenues "infinie"
et il a rendu les chaines "ThreadSafe" c'est a dire compatible a l'utilisation dans des Threads
avant ça c’était plantage systématique, et aléatoire .....
(nous utilisions deja les Thread, mais c'etait roulette russe avec les chaines)
bref le Terme "ThreadSafe " a été utilisé par Fred pour nous signaler que dorénavant les chaines ne posaient plus de problèmes
a etre utilisé dans les Threads ....
voila, je pense avoir été clair , en direct du grand livre d'histoire de Purebasic , sous couvert de ma mémoire défaillante
mais pour la petite histoire, le terme "ThreadSafe" signifie qu'un code est compatible (conçut pour) fonctionner avec des Threads
la présence de Mutex et autre Flag du meme genre, n'entre pas en compte la dedans, puisqu'on peut
Threader sans Mutex , ou autre Drapeau ..
car ce n'est pas une obligation
la seul obligation du point de vue code, c'est la présence du Flag "
/Thread"
au moment de la compilation