#include <windows.h> #include <mutex> #include "SDL.h" #define REFRESH_EVENT (SDL_USEREVENT + 1) static SDL_Thread* refresh_thread; static SDL_Event event; static int thread_exit = 0; static int refresh_video(void* opaque) { while (thread_exit == 0) { SDL_Event event; event.type = REFRESH_EVENT; SDL_PushEvent(&event); SDL_Delay(4000); } return 0; } int main(int argc, char** argv) { refresh_thread = SDL_CreateThread(refresh_video, NULL, NULL); while (1) { SDL_WaitEvent(&event); if (event.type == REFRESH_EVENT) { printf("REFRESH_EVENT \n"); }else if (event.type == SDL_QUIT) { printf("SDL_QUIT \n"); break; } printf("while\n"); } return 0; }