Zarejestruj się teraz

Zaloguj sie

Zgubione hasło

Zgubiłeś swoje hasło? Wprowadź swój adres e-mail. Otrzymasz link i utworzysz nowe hasło e-mailem.

Dodaj post

Musisz się zalogować, aby dodać post .

Dodaj pytanie

Aby zadać pytanie, musisz się zalogować.

Zaloguj sie

Zarejestruj się teraz

Witamy na stronie Scholarsark.com! Twoja rejestracja zapewni Ci dostęp do większej liczby funkcji tej platformy. Możesz zadawać pytania, wnosić wkład lub udzielać odpowiedzi, przeglądaj profile innych użytkowników i wiele więcej. Zarejestruj się teraz!

Część A – Wielowątkowość & Synchronizacja wątków – Automatyczne przydzielanie pamięci i zbieranie śmieci

Część A – Wielowątkowość & Synchronizacja wątków – Automatyczne przydzielanie pamięci i zbieranie śmieci

Cena: $19.99

Witamy w serii kursów poświęconych wielowątkowości – Kurs mistrzowski dotyczący wątków.

Ten kurs jest przeznaczony dla tych, którzy chcą opracować podstawowe koncepcje dotyczące wielowątkowości i pokrewnych koncepcji. W tym kursie, omówimy koncepcje wielowątkowości oparte na Pthreads (Wątki POSIX) na platformie Linux.

Chociaż używamy języka C, aby zademonstrować koncepcje, koncepcje są dobre dla każdego języka programowania. Ten kurs jest równie wartościowy dla programistów C++. Inni programiści językowi również mogą uznać ten kurs za przydatny, ponieważ wyjaśniamy koncepcje wielowątkowości na poziomie zerowym Brak abstrakcji.

Omówimy kilka koncepcji związanych z wielowątkowością i zademonstrujemy każdą koncepcję za pomocą przykładowego programu. Kilka ważnych pojęć obejmuje między innymi – Zakleszczenia, Wzajemne wykluczenie, Atomowość, Synchronizacja wątków, Warunki wyścigu, Rozwidlenie nici, i wiele więcej.

w Następna rata udostępnione przykłady ułatwiające naukę, rozszerzymy naszą wiedzę o wielowątkowości do Advance Concepts, w tym mini-projekty dotyczące wielowątkowości i synchronizacji wątków.

Na każdym etapie tej serii kursów, będziesz pisać wiele wielowątkowych kodów. Przygotuj się więc na opanowanie wielowątkowości. Wzdłuż podróży, omówimy kilka ulubionych tematów rozmów kwalifikacyjnych i pytań, aby przygotować Cię do rozmów kwalifikacyjnych.

Kiedy rozwiążesz te pytania, z pewnością wzrośnie twoja pewność siebie!

Podczas podróży dowiesz się wielu innych rzeczy:

= = = ======= = = =

1. Zrozumienie wątków

  • Tworzenie wątku & Zakończenie

  • Wyścig podczas tworzenia wątku

  • Przekazywanie argumentu do funkcji wątku

  • Zarządzanie pamięcią stosu dla programów wielowątkowych

  • Planowanie wątków

2. Zrozumienie współbieżności i równoległości

  • Pojedynczość kontra współbieżność a równoległość

  • Współbieżne projektowanie procesów – 2 Przykłady

  • Wątki jako proces lekki

  • Praca nakładająca się i nienakładająca się

3. Łączone i odłączane wątki

  • Łączone Vs odłączone wątki

  • Jak dołączyć do wątku

  • Do kogo dołączyć?

  • Próbka – Program zmniejszania map

4. Komunikacja między wątkami

  • Zrozumienie wywołań zwrotnych i wskaźników funkcji

  • Najlepszy sposób na wdrożenie ITC

  • Wdrażanie łańcuchów powiadomień

    • Model subskrybenta wydawcy

    • Jak subskrybować / anulować subskrypcję

    • Jak wysłać powiadomienie do subskrybentów

5. Asynchroniczne anulowanie wątków

  • Anulowanie wątku

  • Asynchroniczne i odroczone anulowanie wątków

  • Problem z asynchronicznym anulowaniem wątków

    • Wyciek zasobów

    • niezmienniki

    • Zakleszczenia

  • Koncepcja programów obsługi czyszczenia wątków

    • Zapobiegaj wyciekom zasobów

    • Uszkodzenie struktury danych – niezmienniki

    • Anulowanie powodujące impas

6. Odroczone anulowanie

  • Zrozumienie odroczonego anulowania

  • Realizacja

7. Wątki słuchacza – Delegacja odpowiedzialności

  • Dlaczego wątki słuchacza?

  • Projektowanie wątków Listener

  • Zmiany w kodzie i wersja demonstracyjna

  • Anulowanie zablokowanych Wątków

8. Synchronizacja wątków

  • Krytyczny fragment

  • Reguły mutexu

  • Blokowanie Mutex

    • Blokowanie Mutex – Blokowanie kodu

    • Blokowanie Mutex – Blokowanie danych

  • Interfejsy API oparte na Mutex

  • Muteksy w akcji

9. Zakleszczenia

  • Czym są zakleszczenia i dlaczego się zdarzają?

  • Niezbędne warunki do zaistnienia impasu

  • Blokada Mutex Porządkowanie powodujące zakleszczenia

10. Zmienne warunkowe

  • Zrozumienie CV

  • CV kontra Mutex

  • Czekać( ) & Sygnał( )

  • Synchronizacja wątków producent-konsument

  • Fałszywe przebudzenia

  • Wątek Vs Specyficzne CV dla zasobów

  • Transmisja CV

  • Implementacja problemu producent-konsument

11. Problem filozofa w jadalni

  • opis problemu

  • Konfiguracja struktur danych

  • Konfiguracja programu przydziału

  • Dyskusja na temat schematu blokowego/algorytmu

  • Ostateczna realizacja (Krok po kroku )

12. Semafory

  • Wstęp

  • Semafory kontra muteksy

  • Jak działa semafor

  • Ścisły problem alternacji

  • Implementacja semafora

  • Typy semaforów

  • Silne i słabe semafory

Wyświetlanie listy nadchodzących zaawansowanych zagadnień wielowątkowych do kursu kontynuacyjnego ( W ramach postępu )

= = = = = = = = = = = = = = = = = = = = = =

1. Wstrzymywanie i wznawianie wątków

2. Pule wątków

3. Standardowe problemy – Problem z czytnikiem/zapisem

4. Implementacja barier wątkowych

5. Implementacja monitorów wątków

6. Rozwiązywanie problemów z synchronizacją za pomocą monitorów

7. Wykrywanie zakleszczeń i zapobieganie im

8. Kolejki oczekiwania

9. Zaimplementuj timery za pomocą wątków

10. Jak rozwidlić proces wielowątkowy

11. Synchronizacja procesów za pomocą nazwanych semaforów

i asortyment typowych komponentów, takich jak diody LED.

Zostaw odpowiedź