मैंने सी में एक और प्रक्रिया शुरू करने के लिए कांटा() का उपयोग किया है। मैं एक नया धागा कैसे शुरू करूं?मैं सादा सी में धागे कैसे शुरू करूं?
उत्तर
चूंकि आपने फोर्क का उल्लेख किया है() मुझे लगता है कि आप यूनिक्स जैसी प्रणाली पर हैं, इस मामले में POSIX threads (आमतौर पर पीथ्रेड के रूप में जाना जाता है) आप जो उपयोग करना चाहते हैं।
विशेष रूप से, pthread_create() वह फ़ंक्शन है जिसे आपको एक नया धागा बनाने के लिए आवश्यक है। इसके तर्क हैं:
int pthread_create(pthread_t * thread, pthread_attr_t * attr, void *
(*start_routine)(void *), void * arg);
पहला तर्क थ्रेड आईडी पर लौटा हुआ सूचक है। दूसरा तर्क थ्रेड तर्क है, जो तब तक पूर्ण हो सकता है जब तक कि आप एक विशिष्ट प्राथमिकता के साथ धागा शुरू नहीं करना चाहते हैं। तीसरा तर्क धागा द्वारा निष्पादित समारोह है। चौथा तर्क यह है कि जब इसे निष्पादित किया जाता है तो थ्रेड फ़ंक्शन को पास किया गया एकल तर्क होता है।
यहां इसका उपयोग करने के तरीके पर एक उदाहरण दिया गया है: http://timmurphy.org/2010/05/04/pthreads-in-ca-minimal-working-example/ – tremendows
क्या पॉज़िक्स धागे को "सादा सी" के रूप में नहीं माना जाता है कि अब सी 11 मानक उन्हें परिभाषित करता है? – Hydronium
जबकि सी 11 मल्टीथ्रेडिंग एपीआई _heavily_ POSIX धागे से प्रभावित है, वे समान नहीं हैं। तो यह मुझे यह कहने का अधिकार नहीं है कि POSIX धागे "सादा सी" हैं। –
pthreads एक अच्छी शुरुआत, बाहर देखने here
चेक pthread (इसे POSIX धागा) पुस्तकालय है।
AFAIK, एएनएसआई सी थ्रेडिंग को परिभाषित नहीं करता है, लेकिन विभिन्न पुस्तकालय उपलब्ध हैं।
यदि आप विंडोज़ पर चल रहे हैं, तो msvcrt से लिंक करें और _beginthread या _beginthreadex का उपयोग करें।
यदि आप अन्य प्लेटफ़ॉर्म पर चल रहे हैं, तो pthreads लाइब्रेरी देखें (मुझे यकीन है कि अन्य भी हैं)।
थ्रेड सी मानक का हिस्सा नहीं हैं, इसलिए थ्रेड का उपयोग करने का एकमात्र तरीका कुछ लाइब्रेरी का उपयोग करना है (उदाहरण: यूनिक्स/लिनक्स में पॉज़िक्स थ्रेड, _beginthread/_beginthreadex अगर आप उस थ्रेड से सी-रनटाइम का उपयोग करना चाहते हैं या सिर्फ CreateThread Win32 API)
- 1. मैं एक नए धागे में सेवा कैसे शुरू करूं?
- 2. मैं सी # डब्ल्यूपीएफ में बाहरी अनुप्रयोग कैसे शुरू करूं?
- 3. कैसे सादा सी
- 4. सादा सी में यूनिट परीक्षण कैसे लिखें?
- 5. सी # में लाइसेंस विकसित करना - मैं कहां से शुरू करूं?
- 6. सी में प्रोग्रामिंग प्रोग्रामिंग, मैं कहां से शुरू करूं?
- 7. मैं अपनी फ़ायरवॉल लिखना कैसे शुरू करूं?
- 8. मैं एसवीएन का उपयोग कैसे शुरू करूं?
- 9. मैं धागे
- 10. मैं राजवा से कहां से शुरू करूं?
- 11. सी # में धागे
- 12. मैं पायथन में खाली सूचियों का शब्दकोश कैसे शुरू करूं?
- 13. मैं Emacs में Xiki का उपयोग कैसे शुरू करूं?
- 14. मैं एक अलग सुरक्षा संदर्भ में धागा कैसे शुरू करूं?
- 15. मैं मल्टीथ्रेड प्रोग्रामिंग का उपयोग कैसे शुरू करूं?
- 16. मैं सी में मेमोरी कैसे मुक्त करूं?
- 17. मैं सी ++ में कॉलबैक कैसे कार्यान्वित करूं?
- 18. मैं सी # में% LocalAppData% कैसे प्राप्त करूं?
- 19. मैं सी ++ 11 में थ्रेड कैसे समाप्त करूं?
- 20. जावा में धागे को कैसे शुरू/बंद/पुनरारंभ करें?
- 21. तुरंत सी # में धागे को कैसे मारें?
- 22. मैं जीयूआई प्रोग्रामिंग के बारे में सीखना शुरू करूं?
- 23. मैं सी # में थ्रेड को निरस्त, रोक और फिर से कैसे शुरू करूं?
- 24. SHA1 सादा पाठ? सी # .NET
- 25. सी # में सादा पाठ (या स्ट्रिंग) से आरटीएफ कैसे बनाएं?
- 26. थ्रेडिंग, दो धागे सी #
- 27. मैं अधिकतम विंडो के साथ जीवीआईएम कैसे शुरू करूं?
- 28. मैं जावा जीयूआई में तत्काल अद्यतन कैसे शुरू करूं? (Thread.sleep() के साथ संघर्ष)
- 29. मैं एक नया पर्ल मॉड्यूल वितरण कैसे शुरू करूं?
- 30. मैं रूबी से पायथन कोड कैसे शुरू करूं?
यह प्लेटफ़ॉर्म पर निर्भर करता है। विंडोज़ पर इसे कैसे करें: [http://msdn.microsoft.com/en-us/library/ms682453.aspx ](http://msdn.microsoft.com/en-us/library/ms682453.aspx) –
जैसा कि आप CreateThread दस्तावेज़ से जुड़े हुए हैं, जैसा कि प्रोग्राम सी रनटाइम लाइब्रेरी का उपयोग करता है, _beginthreadex का उपयोग किया जाना चाहिए, CreateThread नहीं। – ChrisN
धन्यवाद, मैंने यह नहीं देखा था। अगर आप सीआरटी का उपयोग कर रहे हैं तो आप कैसे जानते हैं? मैंने सोचा कि सबकुछ इसका इस्तेमाल करता है। –