Serwis Edukacyjny Nauczycieli w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy Wałaszek |
©2025 mgr Jerzy Wałaszek
|
SDL_SemTryWait
SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Użyj tej funkcji, aby sprawdzić, czy semafor posiada dodatnią wartość, a jeśli tak, to zmniejszyć ją o 1.
int SDL_SemTryWait(SDL_sem* sem) |
sem | semafor, przy którym należy czekać. |
SDL_atomic_t done; SDL_sem *sem; SDL_AtomicSet(&done, 0); sem = SDL_CreateSemaphore(0); . . Wątek A: while (!SDL_AtomicGet(&done)) { add_data_to_queue(); SDL_SemPost(sem); } Wątek B: while (!SDL_AtomicGet(&done)) { if (SDL_SemTryWait(sem) == 0 && data_available()) { get_data_from_queue(); } ... // wykonaj inne przetwarzanie } . . SDL_AtomicSet(&done, 1); SDL_SemPost(sem); wait_for_threads(); SDL_DestroySemaphore(sem); |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2025 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.