Wideo: Dlaczego Pthread_cond_wait potrzebuje muteksu?
2024 Autor: Lynn Donovan | [email protected]. Ostatnio zmodyfikowany: 2023-12-15 23:51
ten muteks służy do ochrony samej zmiennej warunku. Dlatego ty potrzebować zamknęło się przed tobą robić czekać. Następnie, gdy zmienna warunku zostanie zasygnalizowana lub rozesłana do, jeden lub więcej wątków na liście oczekujących zostanie obudzony i muteks zostanie ponownie magicznie zablokowany dla tego wątku.
W związku z tym, czy Pthread_cond_wait odblokowuje mutex?
ten pthread_cond_wait () funkcja blokuje wątek wywołujący na zmiennej warunku cond, a odblokowuje Powiązane mutex mutex . Wątek wywołujący musiał być zablokowany muteks przed czekaniem na zmienną warunku. Po powrocie z funkcji muteks jest ponownie zablokowana i należy do wątku wywołującego.
Następnie pojawia się pytanie, dlaczego mutex jest potrzebny? Zapewnia, że tylko jeden wątek wykonuje kluczowy fragment kodu na raz, co z kolei ogranicza dostęp do struktury danych. Zapewnia to, że oba wątki mają pełny i prawidłowy widok tej pamięci niezależnie od zmiany kolejności procesora. ten muteks jest absolutną koniecznością podczas programowania współbieżnego.
Poza powyższym, dlaczego zmienne warunkowe wymagają mutexu?
ten muteks jest używany do ochrony zmienna warunku samo. Dlatego ty potrzebować zamknęło się przed tobą robić czekać. Wtedy kiedy zmienna warunku to zasygnalizowany lub nadany do jednego lub więcej wątków na liście oczekujących Wola być obudzonym i mutex będzie być magicznie zablokowanym ponownie dla tego wątku.
Dlaczego potrzebujemy zmiennych warunkowych?
Zmienne warunkowe pozwól, aby zestaw nici spał, aż łaskocze! Możesz łaskotać jedną nić lub wszystkie śpiące wątki. Jeśli obudzisz tylko jeden wątek, system operacyjny zdecyduje, który wątek się obudzić.
Zalecana:
Dlaczego komputer potrzebuje przechowywania danych?
Przechowywanie komputera. Twój komputer potrzebuje pamięci, ponieważ procesor potrzebuje miejsca do wykonywania swojej magii - notatnika dla szalonych doodli, jeśli wolisz. Pamięć tymczasowa: Dostarczana jako pamięć lub RAM. Pamięć to miejsce, w którym procesor wykonuje swoją pracę, gdzie uruchamiane są programy i gdzie informacje są przechowywane podczas pracy
Dlaczego potrzebuję fabryki danych Azure?
Azure Data Factory może pomóc użytkownikom chmury Azure Umożliwia firmom przekształcanie wszystkich nieprzetworzonych danych big data z relacyjnych, nierelacyjnych i innych systemów pamięci masowej; i zintegrować go do użytku z przepływami pracy opartymi na danych, aby pomóc firmom w mapowaniu strategii, osiąganiu celów i generowaniu wartości biznesowej z posiadanych danych
Dlaczego Blockchain potrzebuje inteligentnej umowy?
Inteligentne kontrakty pozwalają na wykonywanie wiarygodnych transakcji bez osób trzecich. Jedną z najlepszych rzeczy w blockchain jest to, że ponieważ jest to zdecentralizowany system, który istnieje między wszystkimi dozwolonymi stronami, nie ma potrzeby płacenia pośrednikom (pośrednikom), co oszczędza czas i konflikty
Dlaczego potrzebuję systemu zarządzania treścią?
System zarządzania treścią (CMS) umożliwia tworzenie, edytowanie, zarządzanie i utrzymywanie stron internetowych w jednym interfejsie. Korzystając z CMS, firmy mogą łatwo budować witryny dla siebie i swoich klientów. Systemy te usprawniają projektowanie stron internetowych i publikowanie treści, zapewniając usprawnienie zarówno witryny, jak i przepływu pracy
Dlaczego SQL Server potrzebuje CTE?
Common Table Expressions, w skrócie CTE, są używane w SQL Server w celu uproszczenia złożonych sprzężeń i podzapytań oraz zapewnienia środków do wykonywania zapytań o dane hierarchiczne, takie jak schemat organizacyjny