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

C में थ्रेड एट्रिब्यूट के स्टैक साइज को प्राप्त करना और सेट करना

C में थ्रेड एट्रिब्यूट के स्टैक साइज को प्राप्त करने और सेट करने के लिए, हम निम्नलिखित थ्रेड एट्रिब्यूट्स का उपयोग करते हैं:

pthread_attr_getstacksize()

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

यह दो तर्क लेता है:

pthread_attr_getstacksize(pthread_attr_t *attr, size_t *stacksize)
  • पहला pthread एट्रिब्यूट के लिए।
  • दूसरा थ्रेड एट्रिब्यूट का आकार देने के लिए।

pthread_attr_setstacksize()

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

यह दो तर्क लेता है:

pthread_attr_setstacksize(pthread_attr_t *attr, size_t *stacksize)
  • पहला pthread एट्रिब्यूट के लिए।
  • दूसरा बाइट्स में नए स्टैक का आकार देने के लिए।

एल्गोरिथ्म

शुरुआत
   स्टैक साइज घोषित करें और pthread एट्रिब्यूट a घोषित करें।
   pthread_attr_getstacksize() द्वारा वर्तमान स्टैकसाइज प्राप्त करें और प्रिंट करें।
   pthread_attr_setstacksize() द्वारा नया स्टैक साइज सेट करें और pthread_attr_getstacksize() द्वारा स्टैक साइज प्राप्त करें और प्रिंट करें।
अंत

उदाहरण कोड

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

int main() {
   size_t stacksize;
   pthread_attr_t a;
   
   pthread_attr_init(&a);  // एट्रिब्यूट इनिशियलाइज़ करें
   pthread_attr_getstacksize(&a, &stacksize);
   printf("वर्तमान स्टैक साइज = %zu\n", stacksize);
   
   pthread_attr_setstacksize(&a, 67626);
   pthread_attr_getstacksize(&a, &stacksize);
   printf("नया स्टैक साइज = %zu\n", stacksize);
   
   pthread_attr_destroy(&a);  // एट्रिब्यूट नष्ट करें
   return 0;
}

आउटपुट

वर्तमान स्टैक साइज = 8388608
नया स्टैक साइज = 67626

नोट: मूल कोड में pthread_attr_init() और pthread_attr_destroy() नहीं थे जो आवश्यक हैं। आउटपुट सिस्टम पर निर्भर करता है।

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

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

  1. Redis SCARD कमांड का उपयोग करके सेट में तत्वों की गणना कैसे करें Redis SCARD कमांड का उपयोग करके सेट में तत्वों की गणना कैसे करें

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

  1. Redis में ZCARD से सॉर्टेड सेट का आकार जानें Redis में ZCARD से सॉर्टेड सेट का आकार जानें

    सिंटैक्स: redis host:port> ZCARD <key name> आउटपुट: (पूर्णांक) मान, सॉर्टेड सेट में एलिमेंट्स की संख्या दर्शाता है। (पूर्णांक) 0, यदि की मौजूद नहीं है। त्रुटि, यदि की मौजूद है और की पर संग्रहीत मान सॉर्टेड सेट नहीं है। उदाहरण: संदर्भ: ZCARD कमांड डॉक्स Redis डेटास्टोर में संग्रहीत सॉ