Maximum number of threads that can be created within a process in C
Thread of execution is the smallest sequence of programmed instructions that can be managed independently by scheduler. Thread is a component of process and so multiple threads can be associated in a process. Linux doesn’t have a separate threads per process limit, but has a limit on the total number of processes on the system (as threads just processes with a shared address space on Linux).
Our task is to find out maximum number of thread that can be created within a single process (maximum number of thread that pthread_create can create). Maximum number of threads can be seen is ubuntu by using command:
cat /proc/sys/kernel/threads-max
This thread limit for linux can be modified at runtime by writing desired limit to /proc/sys/kernel/threads-max.
Compile the following program on ubuntu operating system, to check maximum number of threads that can be created within a process in C.
cc filename.c -pthread where filename.c
is the name with which file is saved.
#include<stdio.h>
#include<pthread.h>
void * thread ( void *vargp){ }
int main()
{
int err = 0, count = 0;
pthread_t tid;
while (err == 0)
{
err = pthread_create (&tid, NULL, thread , NULL);
count++;
}
printf ( "Maximum number of thread within a Process"
" is : %d\n" , count);
}
|
Output:
Maximum number of thread within a Process is : 32754
Last Updated :
26 Sep, 2017
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...