0

docsで何かを見逃したのかもしれませんが、別のプログラムスレッドからアプリケーションのイベントをディスパッチする方法がわかりません。
私の疑似コード:

void main() {
   SDL_init();
   createThread(&secondThread);
   while(!quit) {
     /*EVENT HANDLER*/
     SDL_Event event;
     SDL_WaitEvent(&event);
     switch(event.type) {
         /*manage events*/
     }
   }
   SDL_Quit();
}
void secondThread() {
   char output[255];
   readSocket(output);  //Blocking function
   if(output=="EXIT")
      SDL_dispatchEvent(SDL_QUIT);
   return 0;
}
4

1 に答える 1

2

を探しているようですSDL_PushEvent()

スレッドセーフであるとさえ文書化されていますが、もちろん、これは多くのライブラリで一般的に想定できるものではありません。

于 2013-02-04T16:39:12.987 に答える