Cześć, nie mogę znaleźć jednoznacznej odpowiedzi na to pytanie. Więc. Jeśli dwa wątki ODCZYTUJĄ wartość jednej zmiennej, czy muszę stosować sekcje krytyczne?
Jeśli jeden z nich zmienia wartość zmiennej - sprawa jest jasna. Ale, gdy oba tylko odczytują? Jak to jest w rzeczywistości?
Przykład.
Zmienna tab to tablica rekordów. Dwa wątki muszą ją przeiterować i w pewnych warunkach coś wykonać(co wykonać, to już nie jest istotne).
wątek 1:
for i:=low(tab) to high(tab)
if tab[i].field1 = 5 then...
wątek 2:
for i:=low(tab) to high(tab)
if tab[i].field2 = 'abc' then...
Czy w takim wypadku iteracja tablicy tab powinna odbyć się w sekcji krytycznej, czy nie? A jeśli oba wątki sprawdzają pole field1? Czy wtedy jest różnica?