Mam funkcję, którą chcę wywołać co x sekund, ale chcę, aby była bezpieczna dla wątków.Nierezydentne liczniki czasu
Czy mogę ustawić to zachowanie podczas tworzenia zegara? (Nie mam nic przeciwko temu .NET timera, którego używam, po prostu chcę, aby był bezpieczny dla wątków).
Wiem, że mogę zaimplementować blokady wewnątrz funkcji wywołania zwrotnego, ale myślę, że byłoby to bardziej eleganckie, gdyby znajdowało się na poziomie timera.
Moja funkcja zwrotna i środowisko nie są powiązane z interfejsem użytkownika.
[Edytuj 1] Po prostu nie chcę, aby w mojej funkcji zwrotnej znajdował się więcej niż jeden wątek.
[Edycja 2] chcę zachować blokadę wewnątrz poziomie timera, bo zegar jest odpowiedzialny za kiedy zadzwonić do wywołania zwrotnego, a tu istnieje szczególna sytuacja, kiedy nie chcę zadzwonić do mojego funkcja zwrotna. Więc myślę, że kiedy zadzwonić, to odpowiedzialność czasomierza.
nie dają wystarczająco dużo informacji ... Czy Twój cokolwiek dostęp funkcja jakakolwiek inna część programu ma dostęp? JEŚLI nie, to już jest Threadafe (z i bez timera) ... JEŚLI tak, to timer nie ma nic z threadafety, ale trzeba użyć blokady itp. – Yahia
** dlaczego ** czy chcesz zachować blokowanie funkcji zwrotnej? –
@Paul - zobacz moją edycję 2 – Delashmate