Czy semafory są bezpieczne dla wątków?

Spisu treści:

Czy semafory są bezpieczne dla wątków?
Czy semafory są bezpieczne dla wątków?
Anonim

Semafory są bezpieczne dla wątków jak wyjaśniono w javadoc: Efekty spójności pamięci: Akcje w wątku przed wywołaniem metody "zwolnienia", takie jak zwolnienie następuje przed akcjami następującymi po skuteczna metoda „pozyskania”, taka jak pozyskiwanie w innym wątku. Większość operacji na obiektach w java.

Czy semafory zapobiegają wyścigowi?

Nie, operacje blokowania występują niepodzielnie. Całe zablokowane obszary nie zostaną wykonane atomowo. I pamiętaj, wątki dzielą wspólną przestrzeń adresową i wszystkie są powiązane z procesem.

Czy używanie wątków jest bezpieczne?

A MessageService jest praktycznie niezmienny, ponieważ jego stan nie może się zmienić po jego skonstruowaniu. Dlatego jest bezpieczny dla wątków. Co więcej, jeśli usługa MessageService była faktycznie zmienna, ale wiele wątków ma do niej dostęp tylko do odczytu, jest to również bezpieczne dla wątków.

Czy wątek jest bezpieczny i zsynchronizowany?

Bezpieczny wątk oznacza: metoda staje się bezpieczna dla wielu wątków bez żadnych problemów w tym samym czasie. synchronizowane słowo kluczowe to jeden ze sposobów na osiągnięcie bezpieczeństwa wątków. Ale pamiętaj: w rzeczywistości, gdy wiele wątków próbuje uzyskać dostęp do zsynchronizowanej metody, postępują zgodnie z kolejnością, więc dostęp do nich jest bezpieczny.

Czy semafory są w porządku?

Ogólnie, semafory używane do kontroli dostępu do zasobów powinny być inicjowane jako sprawiedliwe, aby zapewnić, że żaden wątek nie zostanie zablokowany w dostępie do zasobu. Podczas używaniasemafory dla innych rodzajów kontroli synchronizacji, zalety przepustowości wynikające z nieuczciwego zamawiania często przewyższają kwestie sprawiedliwości.

Zalecana: