#include "stdafx.h"
#include <Windows.h>
#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
// 핸들 선언
typedef void *HANDLE;
DWORD ExitCode;
struct Delete
{
char IP[16];
HANDLE hThreadA;
HANDLE hThreadB;
};
void ThreadTest(void* pParam)
{
while (true)
{
// 0.5초마다 글씨 출력
cout << "쓰레드 생성" << endl;
Sleep(500);
}
}
void ThreadTest2(void* pParam)
{
while (true)
{
// 0.5초마다 글씨 출력
cout << "쓰레드2 생성" << endl;
Sleep(500);
}
}
void _tmain(int argc, _TCHAR* argv[])
{
list<Delete> IP_List;
list<Delete>::iterator it;
Delete t;
// 쓰레드 생성
HANDLE hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadTest, 0, 0, NULL);
HANDLE hThread2 = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadTest2, 0, 0, NULL);
t.hThreadA = hThread;
t.hThreadB = hThread2;
strcpy_s(t.IP, 16, "192.168.11.1");
IP_List.push_back(t);
while (true)
{
// 2초후 쓰레드 제거
Sleep(5000);
for (it = IP_List.begin(); it != IP_List.end(); it++)
{
if (!strcmp((*it).IP, "192.168.11.1"))
{
TerminateThread((*it).hThreadA, GetExitCodeThread((*it).hThreadA, &ExitCode));
TerminateThread((*it).hThreadB, GetExitCodeThread((*it).hThreadB, &ExitCode));
}
}
}
}
'BackEnd > C++' 카테고리의 다른 글
| (Thread) 생성, 인자값 전달, 외부강제종료, (List) 값 저장 및 검색 (0) | 2013.06.19 |
|---|---|
| 두 List의 값을 비교하여 추가, 삭제된 부분 찾기 (0) | 2013.06.18 |