想清理一些资源,怎样做比较好。
我想在程序启动时就清理一些资源,比如 Event 、Thread的句柄,怎样做比较好。
对Event 可不可以在一开始先创建再灭掉。代码如下可不可以:
::strcpy(&tmpHandleName[0][0], FORSNDMOMSGEVENT);
::strcpy(&tmpHandleName[1][0], KILLCMPPTHREVENT);
::strcpy(&tmpHandleName[2][0], KILLMSGTHREVENT);
::strcpy(&tmpHandleName[3][0], KILLREADTHREVENT);
::strcpy(&tmpHandleName[4][0], KILLLISTENEVENT);
int iTryTime;
for (int itmpCount = 0; itmpCount < 5; itmpCount++ )
{
KillHandle[itmpCount] = CreateEvent(NULL, TRUE, FALSE, (LPCTSTR)tmpHandleName[itmpCount]);
while(::WaitForSingleObject(KillHandle[itmpCount], 0) == WAIT_TIMEOUT)
{
CloseHandle(KillHandle[itmpCount]);
iTryTime ++;
}
}
那些是我要在接下来要用到的Event;
有必要这样做吗?主要是怕以前的一些资源没有清理。