Я пытаюсь вызвать функции после тайм-аута, и таймер должен работать в фоновом режиме, используя функцию опроса только в одном потоке
Я решил проблему, используя два потока, но я хочу сделать это, используя один поток
void *Start_Timer(void *)
{
while(1)
{
struct pollfd fds[1];
int ret,timeout=10;
fds[0].fd=-1;
fds[0].events=0;
ret=poll(fds,1,timeout);
if(ret==0)
{
callMe();
}
}
}
int main()
{
pthread_t thread;
pthread_create(&thread, NULL, &Start_Timer, NULL);
int i=0;
while(1)
{
long long int time;
int id;
struct timeval start;
cout<<"Enter timer in seconds and id \n";
cin>>time>>id;
gettimeofday(&start, NULL);
time=time*1000;
Details[i].timer=time;
Details[i].id=id;
i++;
size=i;
}
}