
Envoyé par
sperot51
oui synclock bloque les différents thread
le premier thread a passé à l'endroit du synclock franchit la barrière
tant qu'il n'est pas sorti (end synclock), tous les autres threads attendent devant la porte (le thread qui a eut le droit de passer peut repasser au meme endroit sans soucis)
une fois qu'il a fini, le thread suivant (le 2eme arrivé) rentre, les autres attendent encore
sur une collection, si un thread fait un for each pendant qu'un autre fait .Add, ca plante, donc le synclock est en théorie nécessaire
mais dans ce cas précis, un readerwriterlock serait plus approprié, voir meme le slimreaderwriterlock (nouveau sur le framework 3 ou 3.5)
ca gagne un peu de perf par rapport au synclock
Partager