Creating a simple thread in Linux using pthread library api’s

 $ vim simple-linux-thread-using-pthread.c 
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

void *functioncalledbythread(void *arg) {
	int count = 0, i;
	int *passed_value = (int*)arg;
	printf("Value passed to thread from main : %d \n", *passed_value);

	for(i=0; i<10; i++) {
	return NULL; 

int main(int argc, char **argv) {
	int retval;
	pthread_t threadId;
	int pass_this_val = 5;

	printf("Creating simple thread\n");
	if((retval = pthread_create(&threadId, NULL, &functioncalledbythread, (void *)&pass_this_val))) {
		printf("Thread creation failed: %d\n", retval);

	printf("Waiting in main for thread to finish\n");
	/* Wait till threads are complete before main continues.*/
	pthread_join(threadId, NULL);

	printf("Thread execution finished, exiting from main program\n");
 $ gcc -o simple-linux-thread-using-pthread simple-linux-thread-using-pthread.c -lpthread 
 $ $ ./simple-linux-thread-using-pthread Creating simple thread
Waiting in main for thread to finish
Value passed to thread from main : 5 
Thread execution finished, exiting from main program
Android Android Commands Android Java Applications Application Libraries Application Stack / User Interface Bash / Shell Scripts Commands and Packages Compilation Content Management System - CMS Core Kernel C Programs Development & Build Development Environment Setup Errors & Failures Flutter git Go Language Programs Hardware Platforms HTML JAVA Programs Kernel & Device Drivers Linux, OS Concepts and Networking Linux Device Drivers Linux Host, Ubuntu, SysAdmin Linux Kernel Linux Networking Middleware Libraries, HAL Monetization / Google AdSense NDK / Middleware / HAL OS Concepts PHP Programming Languages RaspberryPi Scripting and Automation Search Engine Optimisation ( SEO ) Social Media Socurce Code Management ( SCM ) System Administration, Security Testing and Debugging Uncategorized User Interface Userspace Utilities Web design and development Wordpress Yocto / Bitbake / Openembedded

Leave a Reply / Ask Question