Pytania oznaczone «thread-safety»

Fragment kodu jest bezpieczny dla wątków, jeśli tylko manipuluje strukturami danych w sposób, który umożliwia spójne wykonywanie tego kodu przez wiele wątków. Kod może być bezpieczny wątkowo, warunkowo bezpieczny (wymagane wzajemne wykluczanie) lub niebezpieczny (może być bezpiecznie używany tylko przez jeden wątek).

526
Jak dokładnie działa blokada?

Widzę, że w przypadku używania obiektów, które nie są bezpieczne dla wątków, kod zamykamy w taki sposób: private static readonly Object obj = new Object(); lock (obj) { // thread unsafe code } Co dzieje się, gdy wiele wątków uzyskuje dostęp do tego samego kodu (załóżmy, że działa on w aplikacji...

181
Queue.Queue vs. collections.deque

Potrzebuję kolejki, w której wiele wątków może umieszczać różne rzeczy, z których wiele wątków może czytać. Python ma co najmniej dwie klasy kolejek, Queue.Queue i collections.deque, przy czym ta pierwsza najwyraźniej wykorzystuje tę drugą wewnętrznie. Oba twierdzą, że są bezpieczne w wątku w...

125
Co oznacza Threadafe?

Niedawno próbowałem uzyskać dostęp do pola tekstowego z wątku (innego niż wątek interfejsu użytkownika) i został zgłoszony wyjątek. Mówił coś o tym, że „kod nie jest bezpieczny dla wątków”, więc napisałem delegata (pomógł przykład z MSDN) i wywołałem go. Ale mimo to nie bardzo rozumiałem, dlaczego...