スレッド


ゲームプログラミング

  • CThread

スレッド管理

  • フラグ flag m_bFlag
  • アドレス adrs
  • ワーク work

マルチスレッドの用途

  • SLGの思考ルーチン
  • ファイル読み込み Now Loading
  • ストリーム再生
  • ソケット
  • スクリプト

サンプル

#include <process.h> // bcc32 -WM

HANDLE g_hGameThread;

DWORD g_dwGameThreadID;

volatile BOOL g_bExit;	/* アプリケーション終了フラグ */
{
	/* ゲームスレッド起動 */
	g_hGameThread = (HANDLE)_beginthreadex(NULL, 0, gameThread, NULL, 0, &g_dwGameThreadID);
}
{
	/* 終了フラグをセットしてゲームスレッドに終了を指示 */
	g_bExit = TRUE;

	/* ゲームスレッド終了待機 */
	if (WaitForSingleObject(g_hGameThread, 2000) != WAIT_OBJECT_0) {
		TerminateThread(g_hGameThread, 0);
	}

	/* ゲームスレッドのハンドルを閉じる */
	CloseHandle(g_hGameThread);
}
/* ゲームスレッド関数 */
DWORD WINAPI gameThread(LPVOID lpArg) {
	do {
		Sleep(1);
	} while (!g_bExit);
}

関連

リンク


備考

アクセス--041106--041119--041121--041122--041207--041215--041216--041219


索引