Wróć do informacji o e-podręczniku Wydrukuj Pobierz materiał do PDF Pobierz materiał do EPUB Pobierz materiał do MOBI Zaloguj się, aby dodać do ulubionych Zaloguj się, aby skopiować i edytować materiał Zaloguj się, aby udostępnić materiał Zaloguj się, aby dodać całą stronę do teczki
11
Pokaż ćwiczenia:
1
Ćwiczenie 1

Stwórz program w wybranym przez siebie języku programowania, w którym co najmniej jeden wątek będzie generował informację i co najmniej jeden wątek będzie tę informację przetwarzał. Komunikacja wątków powinna być zsynchronizowana.

Przykładowe działanie takiego programu: jeden wątek losuje liczbę i wypisuje na wyjściu standardowym, jaka liczba została przez niego wygenerowana, a następnie drugi wątek również wypisuje ją na wyjściu standardowym.

Przykładowym wynikiem takiego programu może być np.:

Linia 1. Producent wygenerowal liczbe dwukropek 41. Linia 2. Konsument numer dwukropek 1 skonsumowal dwukropek 41. Linia 3. Producent wygenerowal liczbe dwukropek 67. Linia 4. Konsument numer dwukropek 0 skonsumowal dwukropek 67. Linia 5. Producent wygenerowal liczbe dwukropek 34. Linia 6. Konsument numer dwukropek 4 skonsumowal dwukropek 34. Linia 7. kropka kropka kropka kropka.
Ważne!

Podczas sprawdzania poprawności wykonanego zadania zwróć uwagę na to, czy generowana przez producenta liczba jest identyczna z liczbą skonsumowaną przez konsumenta! Jeżeli tak jest, to znaczy, że rozwiązanie wypisuje poprawne wyniki.

Dla zainteresowanych

Zadanie z ćwiczenia pierwszego zrealizuj w ten sposób, żeby wątek producenta generował kolejne wyrazy ciągu Fibbonaciego, a wątek konsumenta je wypisywał.

R14BSv8JI0ja71
Ćwiczenie 2
Czy pojęcia procesu i wątku można używać wymiennie? Możliwe odpowiedzi: 1. Tak, 2. Nie
R10Xw7Oyg7iA22
Ćwiczenie 3
Zaznacz poprawne zdania dotyczące wątków i procesów. Możliwe odpowiedzi: 1. W każdym procesie występuje przynajmniej jeden wątek., 2. W każdym wątku występuje przynajmniej jeden proces., 3. Różne procesy współdzielą tę samą pamięć., 4. Wątki w ramach jednego procesu współdzielą pamięć., 5. Istnieje możliwość, aby wątki pracowały asynchronicznie.
R14Zpa8usRSiZ2
Ćwiczenie 4
Wskaż zdanie prawdziwe. Wątek może zostać utworzony bez procesu.
Wątki w ramach jednego procesu można synchronizować.
Wątek kończy swoją pracę tylko w przypadku zakończenia działania programu.
Używanie wątków, co do zasady, powoduje nieoptymalne zużycie procesora.
RwV9o8r1nFTkN2
Ćwiczenie 5
Uzupełnij tekst podanymi wyrazami. Jeśli dwa wątki pracują asynchronicznie i pracują na tych samych danych, to może dojść wtedy do 1. wyścigu, 2. Mechanizm krytyczny, 3. jednowątkowy, 4. mechanizmem synchronizacji, 5. wielowątkowy, 6. Sekcja krytyczna.
1. wyścigu, 2. Mechanizm krytyczny, 3. jednowątkowy, 4. mechanizmem synchronizacji, 5. wielowątkowy, 6. Sekcja krytyczna to fragment kodu, który korzysta z zasobu dzielonego.
Używanie w programie wielu wątków czyni z programu program 1. wyścigu, 2. Mechanizm krytyczny, 3. jednowątkowy, 4. mechanizmem synchronizacji, 5. wielowątkowy, 6. Sekcja krytyczna.
Algorytm, lub dowolny inny sposób, zapewniający nam synchroniczną i skoordynowaną pracę co najmniej dwóch wątków możemy nazwać 1. wyścigu, 2. Mechanizm krytyczny, 3. jednowątkowy, 4. mechanizmem synchronizacji, 5. wielowątkowy, 6. Sekcja krytyczna.
3
Ćwiczenie 6

Zapoznaj się z kodem i wykonaj ćwiczenie.

Linia 1. a dwukropek znak równości 5. Linia 2. b dwukropek znak równości 2. Linia 3. c dwukropek znak równości a asterysk b. Linia 4. c dwukropek znak równości c asterysk b. Linia 5. wypisz c.
R1KdapLAp0DVq3
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
RCRSZ7KzYfLWy3
Ćwiczenie 7
Wskaż które z poniższych słów odnosi się do wątków używanych w programowaniu: Możliwe odpowiedzi: 1. thread, 2. plot, 3. clue
RX3ovhekUNFL73
Ćwiczenie 8
Możliwe odpowiedzi: 1. Utworzymy sekcję krytyczną., 2. , 3.