2011-02-24 15 views
5

मैं अपने प्रोजेक्ट में दो धागे है, का कहना है कि धागा एक और धागा बीलिनक्स के सिग्नल तंत्र के लिए सी # समतुल्यता क्या है?

धागा कुछ करने में व्यस्त है, वहीं मैं धागा एक से एक संकेत भेजने के लिए बी सूत्र में बाँधना के बाद धागा संकेत प्राप्त करना चाहते हैं, यह तुरंत सिग्नल हैंडलर निष्पादित करता है। लिनक्स में, सिग्नल के साथ ऐसा करना आसान है। एक ही प्रभाव के लिए, मुझे सी # धागे के साथ क्या करना चाहिए?

+0

क्या आप थ्रेड बी को बाधित करना चाहते हैं इससे कोई फर्क नहीं पड़ता कि यह क्या कर रहा है? या क्या आप थ्रेड बी को आवधिक रूप से जांचना चाहते हैं कि सिग्नल भेजा गया हो या नहीं? –

+0

मैं थ्रेड बी को बाधित करना चाहता हूं इससे कोई फर्क नहीं पड़ता कि यह क्या कर रहा है। अन्यथा, सभी waithandle सुविधाएं ठीक हो जाएगा। – cooldfish

उत्तर

0

आप एक चल रहे धागे को मनमाने ढंग से बाधित नहीं कर सकते - केवल थ्रेड जो अवरुद्ध हैं।

this explanation पर एक नज़र डालें।

3

मुझे लिनक्स में signal के बारे में पता नहीं है, लेकिन आप ManualResetEvent का उपयोग किसी अन्य थ्रेड को सिग्नल करने के लिए कर सकते हैं।

0

क्या आप में रुचि हो सकती, Monitor वर्ग के दो तरीके हैं हालांकि मैं ठीक से सुनिश्चित करें कि वे अपनी आवश्यकताओं के लिए ठीक अनुकूल रहे हैं नहीं कर रहा हूँ:

Pulse और Wait देखें।

0

नेट दुनिया WaitHandles का उपयोग करती है यह एक सार वर्ग है जो सिग्नल तक थ्रेड को अवरुद्ध करने की अनुमति देने के तरीकों का खुलासा करता है, और यह संकेत देने के तरीकों का खुलासा करता है कि अवरुद्ध धागे को "जागृत होना चाहिए"।

, ठोस कार्यान्वयन की एक संख्या हैं इस तरह के AutoResetEvent, ManualResetEvent, Mutex, और Semaphore के रूप में।

संबंधित मुद्दे