Odpowiedz

6

uprzejmości http://sreekalyan.blogspot.com/2007/01/thread-safe-and-thread-aware.html

Temat Aware W danym momencie, co najwyżej jeden wątek może być aktywny na obiekcie. Obiekt jest świadomy otaczających go wątków i chroni się przed wątkami, umieszczając wszystkie wątki w kolejce. Ponieważ w danym momencie może istnieć tylko jeden wątek na obiekcie, obiekt zawsze zachowa swój stan. Nie będzie żadnych problemów z synchronizacją.

Zabezpieczenie wątku: W określonym czasie na obiekcie może być aktywnych wiele wątków. Obiekt wie, jak sobie z nimi radzić. Ma poprawnie zsynchronizowany dostęp do współdzielonych zasobów. Może zachować swoje dane stanu w tym środowisku wielowątkowym (tj. Nie będzie się mieściło w stanach pośrednich i/lub nieokreślonych). Bezpiecznie jest używać tego obiektu w środowisku wielowątkowym.

Używanie obiektu, który nie jest ani wątku, ani wątku, może spowodować otrzymanie niepoprawnych i losowych danych oraz tajemniczych wyjątków (z powodu próby uzyskania dostępu do obiektu, gdy jest używany przez wątek i jest niestabilny, stan pośredni w chwili dostępu do drugiego wątku).

1

Chciałbym wierzyć, że funkcja, która ma swoje własne serializacji blokującego mutex jest bezpieczny wątku, ale być może nie w wątku świadomy.