Thread / Mutex /Semaphore
Publié : sam. 07/nov./2009 10:15
J'avoue que j'ai du mal a comprendre un certain nombre de chose avec les Threads ! Malgré les exemples trouvé je comprends rien au Mutex et au Semaphore...
J'arrive a utiliser les Threads, mais je sais pas si je risque ou pas d'avoir un jour un problème de synchro lecture ecriture
Exemple (le principe) :
Est-ce bien comme ça qu'il faut faire ou faut il utiliser les Mutex/Semaphore pour éviter que la boucle principal lise la liste en même temps que le Thread ne l'écrit ?
si c'est le cas comment faire ?
J'arrive a utiliser les Threads, mais je sais pas si je risque ou pas d'avoir un jour un problème de synchro lecture ecriture
Exemple (le principe) :
Code : Tout sélectionner
;J'ai une liste qui va contenir des infos
Global Newlist Info.s()
;J'ai une procédure qui permet d'aller chercher ces infos sur le web.... mais ça peut être plus ou moins long
Procedure ReadNetworkInfo(a.l)
;J'attends des infos qui viennent d'un flux RSS
ClearList(Info())
for z=0 to NbInfotrouve
AddElement(Info())
Info()=Innfotrouve(z)
Next
Endprocedure
;Comme je ne veux pas bloquer mon programme pendant l'arrivé des infos des fois c'est curieusement long je créer un Thread
CreateThread(@ReadNetworkInfo(),0)
;Ma boucle principal qui affiche des trucs a l'ecran
Repeat
;Affichage des infos de la liste qu'elle soit complète ou nom !
Foreach Info()
;Affichage sur l'ecran du contenu de la list Info
Next
Flipbuffer()
Until Quit=1
si c'est le cas comment faire ?