Kurs C
menu C#
Wątki w C |
Często w kodzie zachodzi potrzeba jednoczesnej obsługi kilku urządzeń i w takich przypadkach przychodzą nam z pomocą wątki. Wątki to biblioteki, które potrafią wywołać określone funkcje równolegle. Ja pokaże wam przykład wątków w bibliotece Linuxowej POSIX (będzie to potrzebne do tworzenia urządzeń na Linuxie Raspberry PI). Jeśli będziecie chcieli użyć tych wątków w Windowsie, to będziecie musieli zainstalować CygWin'a. Czas życia wątku składa się z 3 faz. Zadeklarowanie wątku (przypisanie wątkowi jakiejś zmiennej np. t0): Wykonanie wątku (wywołanie wątku t0 jako funkcja wykonaj1): Zakończenie wątku (czekanie, aż wątek zakończy działanie, aby uniknąć błędów pamięci): Dla przykładu zaprezentuje kod, w którym wywołujemy dwa wątki t0 i t1 równolegle. Do tych wątków przypisane są dwie funkcje wykonaj1() i wykonaj2(), które mają za zadanie napisać coś na standardowy strumień wyjścia. W normalnym działaniu takich funkcji, najpierw zostałaby wykonana funkcja wykonaj1(), a następnie funkcja wykonaj2(). A dzięki wątkom program wykonuje równolegle dwie funkcje jednocześnie.
Aby skompilować program należy użyć polecenia: Gdzie watki.c to nasz program, a watek, to program skompilowany. W wyniku tych działań powinniśmy dostać taki rezultat: |