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

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


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

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

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

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

उपयोग किया गया दृष्टिकोण

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

  • main() फ़ंक्शन में max = 0 और ret = 0 दोनों प्रकार के int चर प्रारंभ करें ताकि अधिकतम थ्रेड की संख्या और रिटर्न मान संग्रहीत हो सके।

  • pthread_t प्रकार का एक चर "th" घोषित करें।

  • ret == 0 की शर्त के साथ एक व्हाइल लूप चलाएं और ret = pthread_create(&th, NULL, create, NULL) डालें।

  • लूप के अंदर max++ करें।

  • लूप के बाहर max प्रिंट करें।

उदाहरण

#include <pthread.h> #include <stdio.h> /* फ़ंक्शन को खाली छोड़ दें क्योंकि यह केवल थ्रेड के काम को प्रदर्शित करता है */ void *create(void *){ } // मुख्य फ़ंक्शन int main(){     int max = 0, ret = 0;     pthread_t th;     // 0 लौटने तक पुनरावृति करें     while (ret == 0){         ret = pthread_create(&th, NULL, create, NULL);         max++;     }     printf(" %d ", max);     return 0; }

आउटपुट

5741
  1. C++ में एक सिस्टम द्वारा संभाले जा सकने वाले अधिकतम जॉम्बी प्रोसेस C++ में एक सिस्टम द्वारा संभाले जा सकने वाले अधिकतम जॉम्बी प्रोसेस

    दिया गया कार्य उस अधिकतम जॉम्बी प्रोसेस की संख्या ढूंढना है जिसे एक सिस्टम संभाल सकता है या दूसरे शब्दों में, प्रोग्राम अपना निष्पादन बंद नहीं करता।एक जॉम्बी प्रोसेस (जिसे डिफंक्ट प्रोसेस भी कहा जाता है) एक ऐसी प्रक्रिया है जिसने exit() (सिस्टम कॉल) के माध्यम से अपना निष्पादन पूरा कर लिया है लेकिन फ

  1. C++ में N*N शतरंज बोर्ड पर रखे जा सकने वाले अधिकतम बिशप की संख्या C++ में N*N शतरंज बोर्ड पर रखे जा सकने वाले अधिकतम बिशप की संख्या

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

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

    दिया गया कार्य भुजा a वाले वर्गों की अधिकतम संख्या ढूंढना है जो आधार s वाले दिए गए समकोण समद्विबाहु त्रिभुज (An isosceles triangle has at least 2 equal sides) के अंदर फिट हो सकते हैं। उदाहरण इनपुट s=5, a=1 आउटपुट 10 व्याख्या - आधार में वर्गों की संख्या की गणना s को a से विभाजित करके और 1 घटाकर क