|
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 |
©2026 mgr Jerzy Wałaszek
|
SDL_CreateThread
| SPIS TREŚCI |
Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.
Użyj tej funkcji, aby utworzyć nowy wątek.
SDL_Thread* SDL_CreateThread(SDL_ThreadFunction fn,
const char* name,
void* data)
|
| fn | funkcja do wywołania w nowym wątku; zobacz do Uwag. |
| name | nazwa wątku; zobacz do Uwag. |
| data | wskaźnik przekazywany do fn |
#include <stdio.h>
#include "SDL.h"
/* Bardzo prosty wątek - zlicza od 0 do 9 co 50 ms */
static int TestThread(void *ptr)
{
int cnt;
for (cnt = 0; cnt < 10; ++cnt)
{
printf("\nThread counter: %d", cnt);
SDL_Delay(50);
}
return cnt;
}
int main(int argc, char *argv[])
{
SDL_Thread *thread;
int threadReturnValue;
printf("\nSimple SDL_CreateThread test:");
/* Po prostu utwórz wątek */
thread = SDL_CreateThread(TestThread, "TestThread", (void *)NULL);
if (NULL == thread)
{
printf("\nSDL_CreateThread failed: %s\n", SDL_GetError());
}
else
{
SDL_WaitThread(thread, &threadReturnValue);
printf("\nThread returned value: %d", threadReturnValue);
}
return 0;
}
|
Wyjście: Simple SDL_CreateThread test: Thread counter: 0 Thread counter: 1 Thread counter: 2 Thread counter: 3 Thread counter: 4 Thread counter: 5 Thread counter: 6 Thread counter: 7 Thread counter: 8 Thread counter: 9 Thread returned value: 10
Prototyp funkcji fn wygląda następująco:
int SDL_ThreadFunction(void* data); |
gdzie:
| data | to, co było przekazane jako data do SDL_CreateThread(). |
Nie ma ograniczeń co do konwencji nazewnictwa wątków, pod warunkiem, że dostarczony łańcuch name kończy się znakiem o kodzie 0 i jest w UTF-8, lecz podane w linku wskazówki mogą być pomocne (język angielski):
Jeśli system wymusza ograniczenia, SDL będzie się starało dopasować do nich łańcuch tekstowy (np. zmniejszyć jego długość), lecz oryginalna zawartość będzie dostępna z SDL_GetThreadName().
![]() |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2026 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.