Czy istnieją ogólne zasady / wytyczne dotyczące tego, co sprawia, że metoda jest bezpieczna dla wątków? Rozumiem, że prawdopodobnie jest milion jednorazowych sytuacji, ale co w ogóle? Czy to takie proste?
- Jeśli metoda uzyskuje dostęp tylko do zmiennych lokalnych, jest bezpieczna wątkowo.
Czy to to? Czy dotyczy to również metod statycznych?
Jedna odpowiedź udzielona przez @Cybis brzmiała:
Zmienne lokalne nie mogą być współużytkowane między wątkami, ponieważ każdy wątek otrzymuje własny stos.
Czy tak jest również w przypadku metod statycznych?
Jeśli do metody zostanie przekazany obiekt referencyjny, czy powoduje to naruszenie bezpieczeństwa wątków? Zrobiłem trochę badań i jest wiele na temat niektórych przypadków, ale miałem nadzieję, że będę w stanie zdefiniować, używając tylko kilku reguł, wskazówek, których należy przestrzegać, aby upewnić się, że metoda jest bezpieczna dla wątków.
Więc wydaje mi się, że moje ostateczne pytanie brzmi: „Czy istnieje krótka lista reguł definiujących metodę bezpieczną dla wątków? Jeśli tak, to jakie?”
EDYCJA
Dokonano tutaj wielu dobrych punktów. Myślę, że prawdziwa odpowiedź na to pytanie brzmi: „Nie ma prostych zasad zapewniających bezpieczeństwo nici”. Chłodny. W porządku. Ale generalnie myślę, że zaakceptowana odpowiedź stanowi dobre, krótkie podsumowanie. Zawsze są wyjątki. Niech tak będzie. Moge z tym zyc.