pthread 사용에 관한 질문이 있습니다.
pthread를 사용하는데 있어서 질문이 있습니다.
다름이 아니라 다음과 같은 구조에서 pthread 사용을 어떻게 하는 것 입니까?
GetData()에서 List를 구한 후 해당 List에 대하여 Ping 및 Telnet을 하는 구조입니다.
궁금증은 현재 List를 구하고 차례로 Ping(target), Telnet(target)을 하는 것으로 되어 있는데요...
List를 구하고 Ping, Telnet을 pthread로 돌리고 싶습니다.
void AA::GetData()
{
CEquipUtil equipUtil;
for (int i=0; i
{
struct viTargetInfo_t *target = mTargetList[i];
try
{
target->m_iCollectTime = time(NULL);
GetList(target, snmpapi);
//thread로 띄우고 싶습니다.
//제 생각으로는 pthread_create(&threads[i], NULL, &Ping, (void *)target); 하면...
Ping(target);
//thread로 띄우고 싶습니다.
//제 생각으로는 pthread_create(&threads[i], NULL, &Telnet, (void *)target); 하면...
Telnet(target);
//여기서 join 하면...
//pthread_join(threads[i], (void **)&status);
}
catch(CCommonException &ce)
{
Log(LOG_INFO, "GetData[%s]:%s\n", target->m_szIPAddress, ce.ToString());
}
}
this->SetGroupCount(mTargetList.size() * GROUP_COUNT);
}
void AA::Ping(struct viTargetInfo_t *target)
{
int viCount = GetVPCount(target->m_szIPAddress);
//viCount 만큼 돌면서 Ping
}
void AA::Telnet(struct viTargetInfo_t *target)
{
int viCount = GetVPCount(target->m_szIPAddress);
//viCount 만큼 돌면서 Telnet
}
댓글 달기