घर
Top.Mail.Ru Yandeks.Metrika
मंच: "शुरुआती";
वर्तमान संग्रह: 2017.12.24;
डाउनलोड करें: [xml.tar.bz2];

नीचे

धागा इसी तरह की शाखाएँ खोजें


testeruser   (2016-01-14 14:06) [0]

कृपया मुझे बताएं, मेरे पास बाद में है, जिसके निर्माण पर मैंने विकल्प का चयन किया FreeOnTerminate: = true;

धारा ने काम किया है। लेकिन जब जांच की जाए कि असाइन किया गया (myThread) हमेशा सही है या नहीं।
कैसे जांचें?

किसी भी तरह अंत में धारा में अशक्त कर सकते हैं, जैसे:
प्रक्रिया निष्पादित;
स्व: = नील;
अंत;

हालाँकि मैंने जाँच की - वही काम नहीं करता है।



testeruser   (2016-01-14 14:21) [1]

कैसे आउटपुट ने ऑनटर्मिनेट पर एक प्रक्रिया को लटका देने का फैसला किया जिसमें यह चर को शून्य कर देगा।
क्या मैं किसी तरह एक नियमित प्रक्रिया प्रदान कर सकता हूं?
या इसे एक साधारण मॉड्यूल में कैसे घोषित किया जा सकता है? रूप की विधि से नहीं।



Игорь Шевченко ©   (2016-01-14 14:40) [2]


> कैसे जांचें?


कोई रास्ता नहीं। FreeOnTerminate का उपयोग करने से तात्पर्य है कि आपके द्वारा स्ट्रीम के शुरू होने के बाद क्या होता है, इसमें आपकी कोई दिलचस्पी नहीं है।
यदि आपको जांचने की आवश्यकता है, तो FreeOnTerminate का उपयोग न करें।



testeruser   (2016-01-14 15:23) [3]

मुझे कोई दिलचस्पी नहीं है, लेकिन अगर पहला काम नहीं हुआ तो मुझे दूसरा धागा शुरू करने की जरूरत नहीं है।
और दूसरे लॉन्च में देरी हो रही है। और मैं नहीं चाहता था कि FreeOnTerminate के बिना बिताए स्ट्रीम को मेमोरी में लटका दिया जाए।

यह किसी तरह से स्ट्रीम बनाने के लिए इस स्ट्रीम के वेरिएबल में पॉइंटर ट्रांसफर कर सकता है।
फिर पहले से ही शून्य के साथ धारा में।

myThread: TmyThread.create (@myThread)
..
OnTerminate;
शुरू करना
pointerMyThread ^: = nil;
समाप्त

ऐसा कुछ? मैं अभी इन @ ^ का पता नहीं लगा सकता।



testeruser   (2016-01-14 15:30) [4]

पीमथ्रेड = ^ टीमथ्रेड;

myThread: = TmyThread.Create (@myThread);
..
प्रक्रिया बनाएँ (वैल: पॉइंटर);
myPointer: = val;
OnTerminate: = OnThreadTerminated;
...

प्रक्रिया OnThreadTerminated (प्रेषक: Tobject);
शुरू करना
PemThread (myPointer) ^: = nil;
अंत;

क्या वह काम करेगा?



DVM ©   (2016-01-14 15:43) [5]


> परीक्षक (14.01.16 15: 23) [3]

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

और IMHO इस सुविधा "FreeOnTerminate" का उपयोग न करना बेहतर है, अपने दम पर सभी संसाधनों को नियंत्रित करना बेहतर है।



testeruser   (2016-01-14 16:14) [6]

DVM ©, लेकिन आप या तो एक उदाहरण पढ़ सकते हैं कि किसी विशिष्ट कर्नेल पर धागा कैसे शुरू किया जाए?
मेरे पास एक सर्वव्यापी पुस्तकालय था। लेकिन एक साधारण आवेदन के लिए, मैं कुछ सरल करना चाहूंगा।
हाँ, और यह मुझे लगता है कि आपके थ्रेड के पूल के साथ केवल कीड़े एक गुच्छा करेंगे))



DVM ©   (2016-01-15 11:34) [7]


> परीक्षक (14.01.16 16: 14) [6]


> और आप या तो एक उदाहरण पढ़ सकते हैं कि कैसे एक निश्चित पर
> कर्नेल रन थ्रेड?

सेटट्रेडएफ़िनिटीमास्क ()

https://msdn.microsoft.com/en-us/library/windows/desktop/ms686247%28v=vs.85%29.aspx

लेकिन 100% गारंटी नहीं देता है, यह केवल चयनित कर्नेल का उपयोग करने के लिए सिस्टम से अनुरोध है।



jack128 ©   (2016-01-15 22:04) [8]


> लेकिन मुझे दूसरा धागा शुरू करने की जरूरत नहीं है अगर यह काम नहीं करता है
> पहला।


var InThread: Integer = 0; प्रक्रिया TForm3.Button1 क्लिक करें (प्रेषक: TObject); वर धागा: टीथ्रेड; शुरू करना अगर InterlockedCompareExchange (InThread, 1, 0) <> 0 तो बाहर निकलें; सूत्र: = TThread.CreateAnonymousThread (प्रक्रिया) शुरू करना कोशिश // काम करते हैं अंत में InTread: = 0; अंत; अंत); Thread.Start; अंत;



Игорь Шевченко ©   (2016-01-16 10:18) [9]

jack128 © (15.01.16 22: 04) [8]

आतंक



Andy BitOff ©   (2016-01-17 14:07) [10]


> jack128 © (15.01.16 22: 04) [8]

ठीक है, अगर ऐसी शर्तों के तहत, तो मैं लिखूंगा:
प्रक्रिया TForm3.Button1 क्लिक करें (प्रेषक: TObject); वर धागा: टीथ्रेड; शुरू करना Button1.Enabled: = गलत; सूत्र: = TThread.CreateAnonymousThread (प्रक्रिया) शुरू करना कोशिश // काम करते हैं अंत में TThread.Synchronize (nil, process start Button1.Enabled: = True; end); अंत; अंत); Thread.Start; अंत;


> इगोर शेवचेंको © (16.01.16 10: 18) [9]
> डर

हां नहीं, मानदंड, चुनाव। बिना कट्टरता के।



पन्ने: 1 पूरी शाखा

मंच: "शुरुआती";
वर्तमान संग्रह: 2017.12.24;
डाउनलोड करें: [xml.tar.bz2];

ऊपर





मेमोरी: 0.58 एमबी
समय: 0.018 c
15-1467989201
Kilkennycat
2016-07-08 17:46
2017.12.24
जो बेहतर है, सी # या डेल्फी


2-1453717107
एंड्री के
2016-01-25 13:18
2017.12.24
राउटर के माध्यम से जुड़े डिवाइस को कैसे सक्रिय किया जाए।


2-1452769577
testeruser
2016-01-14 14:06
2017.12.24
धागा


2-1452253920
gedevan
2016-01-08 14:52
2017.12.24
कई तालिकाओं (ADO, MS Access) में sql क्वेरी कैसे करें?


2-1452956336
vegarulez
2016-01-16 17:58
2017.12.24
FastMM की मदद चाहिए





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский