Introduction to threads C++ In Hindi
C++ प्रोग्रामिंग लैंग्वेज में थ्रेड्स मॉडर्न C++ प्रोग्रामिंग में एक एडवांस कॉन्सेप्ट या फीचर्स है, जो C++ प्रोग्राम में क्रिएटेड प्रोग्राम सोर्स कोड को एक साथ ग्रुप कम्बाइंड कर रन करने की परमिशन प्रोवाइड करता है। C++ में, थ्रेड्स को C++11 वर्जन से C++ स्टैंडर्ड लाइब्रेरी के माध्यम से नेटिवली सपोर्ट किया जाता है। किसी C++ प्रोग्राम में मल्टीथ्रेडिंग से एक ही समय में कई प्रोग्रामिंग टास्क रन किए जा सकते हैं, जिससे आपको बेहतर प्रोग्राम डेवेलोपमेंट परफॉर्मेंस मिल सकती है. स्पेशली, जब C++ प्रोग्राम में मल्टी-कोर प्रोसेसिंग परफॉर्म की जा रही है। जैसाकि, C++ प्रोग्राम में थ्रेड्स से सिंक्रोनाइज़ेशन, रेस कंडीशन, और डेडलॉक, जैसी काम्प्लेक्स प्रोग्रामिंग इश्यूज डेवलप हो सकती हैं।

So, let’s explore the concept of threads in C++ programming.
What is a thread in C++ programming?
C++ प्रोग्राम में थ्रेड एक प्रोसेस सिस्टम के अंदर रन होने वाली एक यूनिट टास्क है। किसी प्रोग्राम में एक प्रोसेस में कई थ्रेड डिफाइन या क्रिएट हो सकते हैं, और उस प्रोसेस के अंदर सभी थ्रेड एक ही समय में मेमोरी स्पेस को शेयर या यूज़ करते हैं। C++ प्रोग्राम में यूजर क्रिएटेड थ्रेड्स एक साथ प्रोग्राम सोर्स कोड एक्सेक्यूट करने की परमिशन प्रोवाइड करते हैं. इसका मतलब है कि मौजूदा प्रोग्राम में मल्टी-कोर प्रोसेसर पर एक साथ कई थ्रेड “एक साथ” रन हो सकते हैं।
Element of a thread in C++.
- Main thread – C++ प्रोग्राम में यह वह मैन थ्रेड है, जो किसी प्रोग्राम के लॉन्च होने पर रन होना स्टार्ट करता है।
- Worker threads – C++ प्रोग्राम में यह एक एक्स्ट्रा थ्रेड्स है, जो मेन थ्रेड के साथ एक साथ काम कर सकते हैं।
C++ प्रोग्राम में, यूजर डिफाइन क्लास थ्रेड्स को <thread> हेडर फाइल में डिफाइन std::thread क्लास को अप्लाई करके मैनेज या यूज़ किया जाता है।
Creating and launching threads in a C++ program.
C++ प्रोग्राम में थ्रेड क्रिएट और रन करने के लिए, C++ यूजर std::thread क्लास हैडर फाइल का यूज़ करते हैं। C++ यूजर किसी प्रोग्राम में std::thread कंस्ट्रक्टर को एक फ़ंक्शन (या कॉलेबल ऑब्जेक्ट) के रूप में पास करते हैं, जिससे ये एक नया थ्रेड को एक्ज़ीक्यूट करेगा।
Basic syntax for creating a thread in C++.
#include <iostream>
#include <thread>
void testFunction() {
std::cout << “Welcome to Vcanhelpsu Edtech” << std::endl;
}
int main() {
// here we create a thread that calls the function `testFunction`
std::thread t(testFunction);
// here it wait for the thread to finish first
t.join(); // here it blocks until thread t completely finishes
return 0;
}
Explanation of syntax for creating a thread in C++.
- यहाँ इस एक्साम्प्ल में, std::thread t(testFunction) एक नया थ्रेड क्रिएट करता है, जो testFunction को एक्ज़ीक्यूट करता है।
- यहाँ t.join() फंक्शन यह फिक्स करता है कि मेन थ्रेड आगे बढ़ने से पहले नए क्रिएट किए गए थ्रेड के समाप्त होने का वेट करता है। यदि C++ यूजर join को कॉल नहीं करते हैं, तो थ्रेड पूरा होने से पहले प्रोग्राम समाप्त हो सकता है।
Passing arguments to threads in a C++ program.
C++ यूजर std::thread क्लास में यूजर डिफाइन कंस्ट्रक्टर पैरामीटर को आर्गुमेंट के रूप प्रोवाइड कर उस फ़ंक्शन को आर्गुमेंट में पास कर सकते हैं. जिस मौजूदा प्रोग्राम में थ्रेड रन कर रहा है।
Example of passing thread arguments in C++.
#include <iostream>
#include <thread>
void displayTotal(int p, int q) {
std::cout << “Total of p and q variable is – ” << p + q << std::endl;
}
int main() {
int m = 9;
int n = 12;
// here it pass arguments to the thread displayTotal function
std::thread t(displayTotal, m, n);
t.join(); // here it wait for the thread to finish first
return 0;
}
Explanation of passing thread arguments in C++.
- यहाँ इस एक्साम्प्ल में, displayTotal फ़ंक्शन दो int पैरामीटर p और q वैल्यू को इनपुट के रूप में लेता है। जब इस प्रोग्राम में एक नया थ्रेड क्रिएट किया जाता है. तो ये उसे पास कर दिए जाते हैं।
- यहाँ वेरिएबल p और q को वैल्यू के अनुसार से displayTotal फंक्शन में पास किया जाता है।

