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

C . में एक प्रक्रिया के भीतर बनाए जा सकने वाले थ्रेड्स की अधिकतम संख्या

कार्य को देखते हुए सी में एक प्रक्रिया के भीतर बनाए जा सकने वाले थ्रेड्स की अधिकतम संख्या को खोजना है।

एक धागा हल्की प्रक्रिया है और इसे शेड्यूलर द्वारा स्वतंत्र रूप से प्रबंधित किया जा सकता है। चूंकि थ्रेड एक प्रक्रिया का एक घटक है, इसलिए एक प्रक्रिया में कई थ्रेड्स को जोड़ा जा सकता है और संदर्भ स्विचिंग के लिए भी कम समय लगता है क्योंकि यह प्रक्रिया से हल्का होता है।

थ्रेड्स को प्रक्रियाओं की तुलना में कम संसाधनों की आवश्यकता होती है और वे अपने पीयरथ्रेड्स के साथ मेमोरी भी साझा करते हैं। सभी उपयोगकर्ता स्तर के पीयर थ्रेड्स को ऑपरेटिंग सिस्टम द्वारा एकल कार्य के रूप में माना जाता है। उनके निर्माण और समाप्ति के लिए कम समय की आवश्यकता होती है।

हर बार प्रोग्राम निष्पादित होने पर आउटपुट हमेशा अलग होगा।

निम्नलिखित कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है

  • फ़ंक्शन बनाएं void* create(void *) और इसे खाली छोड़ दें क्योंकि यह केवल थ्रेड के कार्य को प्रदर्शित करता है।

  • मुख्य () फ़ंक्शन में दो चर अधिकतम =0 और रिट =0 दोनों प्रकार के int को क्रमशः अधिकतम संख्या में धागे और वापसी मूल्य को स्टोर करने के लिए प्रारंभ करें।

  • pthread_t प्रकार का एक वेरिएबल “वें” घोषित करें।

  • कंडीशन ret ==0 के साथ थोड़ी देर के लूप को चलाएं और ret =pthread_create (&th,NULL, create, NULL) डालें;

  • लूप के अंदर अधिकतम++ पुनरावृति करें।

  • लूप के बाहर अधिकतम प्रिंट करें।

उदाहरण

#include<pthread.h>
#include<stdio.h>
/*Leave the function empty as it
only demonstrates work of thread*/
void *create ( void *){
}
//main function
int main(){
   int max = 0, ret = 0;
   pthread_t th;
   //Iterate until 0 is returned
   while (ret == 0){
      ret = pthread_create (&th, NULL, create, NULL);
      max++;
   }
   printf(" %d ", max);
}

आउटपुट

5741

  1. ज़ोंबी प्रक्रियाओं की अधिकतम संख्या एक सिस्टम C++ में संभाल सकता है

    यह देखते हुए कि एक सिस्टम द्वारा संचालित की जा सकने वाली ज़ॉम्बी प्रक्रियाओं की अधिकतम संख्या का पता लगाना है या दूसरे शब्दों में, प्रोग्राम इसके निष्पादन को नहीं रोकता है। एक ज़ोंबी प्रक्रिया (जिसे निष्क्रिय प्रक्रिया के रूप में भी जाना जाता है) एक ऐसी प्रक्रिया है जिसने निकास () (सिस्टम कॉल) के म

  1. अधिकतम बिशप जिन्हें C++ में N*N शतरंज की बिसात पर रखा जा सकता है

    हमें एक इनपुट एन दिया गया है जो शतरंज की बिसात के आकार को दर्शाता है। यहाँ कार्य N के किसी भी मान का पता लगाना है, NXN शतरंज की बिसात पर कितने बिशप रखे जा सकते हैं ताकि कोई भी दो बिशप एक दूसरे पर हमला न कर सकें। आइए उदाहरणों से समझते हैं। इनपुट -एन=2 आउटपुट - अधिकतम बिशप जिन्हें N*N शतरंज की बिस

  1. C++ . में समकोण समद्विबाहु त्रिभुज में फिट होने वाले वर्गों की अधिकतम संख्या

    कार्य को देखते हुए ए वाले वर्गों की अधिकतम संख्या ज्ञात करना है जो एस के आधार के साथ एक समकोण समद्विबाहु त्रिभुज के अंदर फिट हो सकते हैं (एक समद्विबाहु त्रिभुज में कम से कम 2 बराबर पक्ष होते हैं)। आइए अब एक उदाहरण का उपयोग करके समझते हैं कि हमें क्या करना है: इनपुट s=5, a=1 आउटपुट 10 स्पष्टीकरण -