Thread functions in C/C++



In this tutorial, we will be discussing a program to understand thread functions in C/C++.

Thread functions allow users to implement concurrent functions at the same time, which can either be dependent on each other for execution or independent.

Example

#include <pthread.h> #include <stdio.h> #include <stdlib.h> void* func(void* arg){    //detaching the current thread    pthread_detach(pthread_self());    printf("Inside the thread\n");    pthread_exit(NULL); } void fun(){    pthread_t ptid;    //creating a new thread    pthread_create(&ptid, NULL, &func, NULL);    printf("This line may be printed before thread terminates\n");    if(pthread_equal(ptid, pthread_self())       printf("Threads are equal\n");    else       printf("Threads are not equal\n");    //waiting for the created thread to terminate    pthread_join(ptid, NULL);    printf("This line will be printed" " after thread ends\n");    pthread_exit(NULL); } int main(){    fun();    return 0; }

Output

This line may be printed before thread terminates Threads are not equal Inside the thread This line will be printed after thread ends
Updated on: 2020-03-02T11:16:59+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements