Wielowątkowość - funkcje, procedury wewnątrz funkcji wątku

Wielowątkowość - funkcje, procedury wewnątrz funkcji wątku
T3
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 23
0

Witam,
od jakiegoś czasu pracuję nad pewną aplikacją wielowątkową, w której to nie stosuję klas, ponieważ zależy mi na maksymalnie małym rozmiarze. Problem w tym, że zdarzają się błędy w pamięci programu, a źródła problemu nie potrafię zlokalizować. Od tego wszystkiego mam wątpliwości co do jednego, przykładowo:

Kopiuj
function PrzykladowyWatek(PVoid: Pointer): DWORD; stdcall;

procedure Test; 
begin
end;

begin
  repeat
    Test; 
  until(false);
end;
 

PrzykladowyWatek jest tworzony X razy, dlatego procedurę Test umieściłem wewnątrz funkcji, zakładając, że w ten sposób uniknę kolizji, że każdy wątek z osobna będzie miał swoją własną procedurę Test.
Stąd pytanie - czy założenie jest poprawne, a jeśli nie, to w jaki sposób można to rozwiązać?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
2

Nie ważne gdzie ten Test umieścisz i tak każdy z wątków będzie miał własną funkcje Test wraz ze swoim zestawem zmiennych lokalnych. Ba zmienne lokalne zadeklarowane w PrzykladowyWatek też będą własne dla każdego wątku.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.