সি-তে থ্রেড অ্যাট্রিবিউটের স্ট্যাক সাইজ পেতে এবং সেট করতে, আমরা নিম্নলিখিত থ্রেড অ্যাট্রিবিউটগুলি ব্যবহার করি:
pthread_attr_getstacksize()
থ্রেড স্ট্যাক আকার পেতে ব্যবহার করুন. স্ট্যাকসাইজ অ্যাট্রিবিউট থ্রেড স্ট্যাকের জন্য বরাদ্দ করা ন্যূনতম স্ট্যাকের আকার দেয়। একটি সফল রানের ক্ষেত্রে, এটি 0 দেয় অন্যথায় কোন মান দেয়।
এটি দুটি আর্গুমেন্ট লাগে −
pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize)
- pthread অ্যাট্রিবিউটের জন্য প্রথমটি।
- থ্রেড অ্যাট্রিবিউটের আকার দেওয়ার জন্য দ্বিতীয়টি৷ ৷
pthread_attr_setstacksize()
সেট নতুন থ্রেড স্ট্যাক আকার জন্য ব্যবহৃত. স্ট্যাকসাইজ অ্যাট্রিবিউট থ্রেড স্ট্যাকের জন্য বরাদ্দ করা ন্যূনতম স্ট্যাকের আকার দেয়। একটি সফল রানের ক্ষেত্রে, এটি 0 দেয় অন্যথায় এটি কোন মান দেয়৷
এটি দুটি আর্গুমেন্ট লাগে −
pthread_attr_setstacksize(pthread_attr_t *attr, size_t *stacksize)
- pthread অ্যাট্রিবিউটের জন্য প্রথমটি।
- বাইটে নতুন স্ট্যাকের আকার দেওয়ার জন্য দ্বিতীয়টি।
অ্যালগরিদম
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
উদাহরণ কোড
#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\n", stacksize); pthread_attr_setstacksize(&a, 67626); pthread_attr_getstacksize(&a, &stacksize); printf("New stack size= %d\n", stacksize); return 0; }
আউটপুট
Current stack size = 50 New stack size= 67626