Examveda
Examveda

What is the output of this program?
#include<stdio.h>
#include<pthread.h>
#include<semaphore.h>
 
sem_t st;
void *fun_t(void *arg);
void *fun_t(void *arg)
{
    printf("Linux\n");
    pthread_exit("Bye");
}
int main()
{
    pthread_t pt;
    void *res_t;
    if(pthread_create(&pt,NULL,fun_t,NULL) == -1)
        perror("pthread_create");
    if(sem_init(&st,0,2) != 0)
        perror("sem_init");
    if(sem_wait(&st) != 0)
        perror("sem_wait");
    printf("Example\n");
    if(sem_wait(&st) != 0)
        perror("sem_wait");
    if(pthread_join(pt,&res_t) == -1)
        perror("pthread_join");
    if(sem_destroy(&st) != 0)
        perror("sem_destroy");
    return 0;
}

A. this program will print the only string "Linux"

B. this program will print the only string "Example"

C. this program will print both the strings "Linux" and "Example"

D. none of the mentioned

Answer: Option C


This Question Belongs to Computer Science >> Linux

Join The Discussion

Related Questions on Linux