Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C . में थ्रेड एट्रिब्यूट का स्टैक आकार प्राप्त करें और सेट करें

सी में थ्रेड एट्रिब्यूट का स्टैक आकार प्राप्त करने और सेट करने के लिए, हम निम्नलिखित थ्रेड विशेषताओं का उपयोग करते हैं:

pthread_attr_getstacksize()

थ्रेड स्टैक आकार प्राप्त करने के लिए उपयोग करें। स्टैकसाइज़ विशेषता थ्रेड स्टैक को आवंटित न्यूनतम स्टैक आकार देती है। एक सफल रन के मामले में, यह 0 देता है अन्यथा कोई मूल्य देता है।

इसमें दो तर्क लगते हैं -

pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize)

  • पथ्रेड विशेषता के लिए पहला।
  • थ्रेड एट्रिब्यूट का आकार देने के लिए दूसरा।

pthread_attr_setstacksize()

नए थ्रेड्स स्टैक आकार सेट करने के लिए उपयोग किया जाता है। स्टैकसाइज़ विशेषता थ्रेड स्टैक को आवंटित न्यूनतम स्टैक आकार देती है। एक सफल रन के मामले में, यह 0 देता है अन्यथा यह कोई मूल्य देता है।

इसमें दो तर्क लगते हैं -

pthread_attr_setstacksize(pthread_attr_t *attr, size_t *stacksize)

  • पथ्रेड विशेषता के लिए पहला।
  • नए स्टैक का आकार बाइट्स में देने के लिए दूसरा।

एल्गोरिदम

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

  1. Windows 7 और 8 पर सर्वश्रेष्ठ Windows 10 सुविधाएँ प्राप्त करें

    अकेले नंबरों के अनुसार, विंडोज 7 सबसे लोकप्रिय विंडोज ऑपरेटिंग सिस्टम (ओएस) बना हुआ है। ऐप्पल के लोग जो कहते हैं, उसके बावजूद, यह तेज़, स्थिर है और दुनिया भर में पीसी के उपयोग का लगभग आधा हिस्सा है। जब तक आप नहीं चाहते, तब तक विंडोज 10 में अपग्रेड करने का कोई कारण नहीं है। इस बीच, विंडोज 10 में कुछ

  1. रेडिस स्कार्ड - रेडिस डेटास्टोर में सेट का आकार कैसे प्राप्त करें

    इस ट्यूटोरियल में, हम सीखेंगे कि कमांड का उपयोग करके कुंजी पर संग्रहीत एक सेट मान का आकार (तत्वों की संख्या) कैसे प्राप्त करें - SCARD रेडिस-क्ली में। रेडिस SCARD कमांड का सिंटैक्स इस प्रकार है:- वाक्यविन्यास :- redis host:post> SCARD <key name> आउटपुट :-  (integer) value, representing

  1. रेडिस ZCARD - रेडिस डेटास्टोर में सॉर्ट किए गए सेट का आकार कैसे प्राप्त करें

    इस ट्यूटोरियल में, हम सीखेंगे कि कमांड का उपयोग करके कुंजी पर संग्रहीत सॉर्ट किए गए सेट मान का आकार (तत्वों की संख्या) कैसे प्राप्त करें - ZCARD रेडिस-क्ली में। रेडिस ZCARD कमांड का सिंटैक्स इस प्रकार है:- वाक्यविन्यास :- redis host:post> ZCARD <key name> आउटपुट :-  (integer) value, rep