I am very newcomer to multi thread programming, so this question might seem a little silly , Follow is my code, I am trying to have 2 threads :
struct sigaction S1,S2;
struct itimerval T1,T2;
void Function1(){
cout<<"Function1 "<<endl;
}
void Function2(){
cout<<"Function2 "<<endl;
}
void Thread_Function(){
int t=70000;
memset (&s2, 0, sizeof (s2));
s2.sa_handler = &Function2;
sigaction (SIGALRM, &s2, NULL);
sigemptyset(&s2.sa_mask);
s2.sa_flags = 0;
T2.it_value.tv_sec = 0;
T2.it_value.tv_usec =t;
T2.it_interval.tv_sec =0;
T2.it_interval.tv_usec =t;
setitimer (ITIMER_REAL, &T2, NULL);
}
int main(){
int t=50000;
memset (&s1, 0, sizeof (s1));
s1.sa_handler = &Function1;
sigaction (SIGALRM, &s1, NULL);
sigemptyset(&s1.sa_mask);
s1.sa_flags = 0;
T1.it_value.tv_sec = 0;
T1.it_value.tv_usec =t;
T1.it_interval.tv_sec =0;
T1.it_interval.tv_usec =t;
setitimer (ITIMER_REAL, &T1, NULL);
thread t1(Thread_Function);
}
Problem is Function1
does not execute in other words I cant see Function1
on my output