J'ai une TObjectList qui doit être traitée par plusieurs threads. Puisque TObjectList hérite en interne de TList et TList implémente ses internes en tant que tableau je me demande:L'accès à différents index d'un thread TObjectList est-il sécurisé?
Est-il thread-sûr pour accéder au tableau à partir de différents threads tant que nous accédons à différents index?
Par exemple, ayant un appelé TObjectList myObjectList:
start = 0; end = myObjectList.Count div 2;
Thread1:
for i := 0 to end do
Process(myObjectList[i]);
Thread2:
for i := end + 1 to myObjectList.Count - 1 do
Process(myObjectList[i]);
Je n'ai pas vraiment besoin de modifier la liste, juste de la lire, donc je veux éviter le fardeau du verrouillage. Je voulais juste confirmer cela, tant que vous venez de lire la liste, il n'y a pas de problème. –
"Lecture simple" est toujours sécurisé. Vous ne rencontrez des problèmes que lorsque vous commencez à changer des choses dans un thread alors qu'un autre thread essaie de les utiliser. –