Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Selected Reading
Get and Set the stack size of thread attribute in C
To get and set the stack size of thread attribute in C, we use the following thread attributes:
pthread_attr_getstacksize()
Use for get threads stack size. The stacksize attribute gives the minimum stack size allocated to threads stack. In case of a successful run, then it gives 0 otherwise gives any value.
It takes two arguments −
pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize)
- First one for pthread attribute.
- Second one for giving the size of the thread attribute.
pthread_attr_setstacksize()
Used for set new threads stack size. The stacksize attribute gives the minimum stack size allocated to threads stack. In case of a successful run, then it gives 0 otherwise it gives any value.
It takes two arguments −
pthread_attr_setstacksize(pthread_attr_t *attr, size_t *stacksize)
- First one for pthread attribute.
- Second one for give the size of the new stack in bytes.
Algorithm
Begin Declare stack size and declare pthread attribute a. Gets the current stacksize by pthread_attr_getstacksize() and print it. Set the new stack size by pthread_attr_setstacksize() and get the stack size pthread_attr_getstacksize() and print it. End
Example Code
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
int main() {
size_t stacksize;
pthread_attr_t a;
pthread_attr_getstacksize(&a, &stacksize);
printf("Current stack size = %d
", stacksize);
pthread_attr_setstacksize(&a, 67626);
pthread_attr_getstacksize(&a, &stacksize);
printf("New stack size= %d
", stacksize);
return 0;
}
Output
Current stack size = 50 New stack size= 67626
Advertisements
