SDL_threadID SDL_GetThreadID(SDL_Thread* thread)
thread | 調査するスレッド |
#include <stdio.h>
#include "SDL_thread.h"
// とても単純なスレッド - 50ms間隔で0から9までカウントする
int TestThread(void *ptr)
{
int cnt;
for (cnt = 0; cnt < 10; ++cnt) {
SDL_Log("¥nスレッドカウンタ: %d", cnt);
SDL_Delay(50);
}
return cnt;
}
int main(int argc, char *argv[])
{
SDL_Thread *thread;
int threadReturnValue;
SDL_Log("¥nSDL_CreateThreadの単純なテスト:");
/* 単にスレッドを生成する */
thread = SDL_CreateThread(TestThread, "TestThread", (void *)NULL);
if (NULL == thread) {
SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "¥nSDL_CreateThread 失敗: %s¥n", SDL_GetError());
exit(-1);
}
/* 新たに生成されたスレッドのIDを受け取る */
threadID = SDL_GetThreadID(thread);
/* スレッドが完了するのを待ち戻り値を得る */
SDL_WaitThread(thread, &threadReturnValue);
SDL_Log("¥nスレッドの戻り値: %d", threadReturnValue);
return 0;
}