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

C में pthread_self()

यहां हम देखेंगे कि C में pthread_self() का क्या प्रभाव होगा। pthread_self() फ़ंक्शन का उपयोग वर्तमान थ्रेड की आईडी प्राप्त करने के लिए किया जाता है। यह फ़ंक्शन मौजूदा थ्रेड्स की विशिष्ट रूप से पहचान कर सकता है। लेकिन यदि कई थ्रेड्स हैं और एक थ्रेड पूरा हो जाता है, तो उस आईडी का पुनः उपयोग किया जा सकता है। इसलिए सभी चल रहे थ्रेड्स के लिए आईडी अद्वितीय हैं।

उदाहरण

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

void* func(void* p) {
    printf("फ़ंक्शन से, थ्रेड आईडी = %d\n", pthread_self()); // वर्तमान थ्रेड आईडी प्राप्त करें
    pthread_exit(NULL);
    return NULL;
}

int main() {
    pthread_t thread; // थ्रेड घोषित करें
    pthread_create(&thread, NULL, func, NULL);
    printf("मुख्य फ़ंक्शन से, थ्रेड आईडी = %d\n", thread);
    pthread_join(thread, NULL); // मुख्य थ्रेड के साथ जुड़ें
}

आउटपुट

मुख्य फ़ंक्शन से, थ्रेड आईडी = 1
फ़ंक्शन से, थ्रेड आईडी = 1
  1. - C# में थ्रेड को समाप्त करना (Kill/Stop)

    महत्वपूर्ण: .NET में Thread.Abort() मेथड अप्रचलित (obsolete) है और इसका उपयोग नहीं करना चाहिए क्योंकि यह अप्रत्याशित व्यवहार और संसाधन लीक का कारण बन सकता है। सही दृष्टिकोण: कैंसिलेशन टोकन/फ्लैग पैटर्न थ्रेड को सुरक्षित रूप से रोकने के लिए एक शेयर्ड फ्लैग (या CancellationToken) का उपयोग करें जिसे थ

  1. - C# में वर्तमान थ्रेड की प्राथमिकता प्रदर्शित करना

    C# में प्रत्येक थ्रेड की एक प्राथमिकता (Priority) होती है जो OS शेड्यूलर को बताती है कि इसे कितना CPU समय देना है। Thread.Priority प्रॉपर्टी इसे पढ़ने/सेट करने के लिए उपयोग होती है। थ्रेड प्राथमिकता स्तर प्राथमिकता विवरण ThreadPriority.Highest सबसे अधिक CPU समय ThreadPriority.AboveNormal स

  1. - Java में थ्रेड पूल

    एक थ्रेड पूल पूर्व-आरंभिक थ्रेड्स का संग्रह है। थ्रेड पूल के पीछे सामान्य योजना विधि स्टार्टअप पर कई थ्रेड्स बनाना और उन्हें एक पूल में रखना है, जहां वे बैठते हैं और काम की प्रतीक्षा करते हैं। जब एक सर्वर भागीदारी के लिए कॉल प्राप्त करता है, तो यह इस पूल से एक थ्रेड को जगाता है—यदि कोई उपलब्ध है—और