2009-08-14 33 views
6

क्या जावा प्रोग्रामर मैन्युअल रूप से डिमन थ्रेड बना सकता है? यह कैसा है?मैं डिमन थ्रेड कैसे बना सकता हूं?

+2

तुम्हारा मतलब "डेमॉन" सूत्र है? इस मामले में, Google आपको आगे ले जा सकता है .. – Gishu

+1

कृपया ध्यान दें कि यह संभवतः आपके द्वारा किए जाने वाले कार्यों को नहीं कर सकता है। एक डेमॉन थ्रेड एक डेमॉन प्रक्रिया के समान नहीं है। –

+0

बिजू और http://stackoverflow.com/users/124339/johanna एक ही व्यक्ति हैं? – sourcerebels

उत्तर

13

java.lang.Thread.setDaemon(boolean)

ध्यान दें कि यदि स्पष्ट रूप से सेट नहीं, तो इस संपत्ति धागा है कि एक नया थ्रेड बनाता से "प्राप्त" किया है।

-4

हाँ आप कर सकते हैं

Thread thread = new Thread( 
    new Runnable(){ 
    public void run(){ 
     while (true) 
     wait_for_action(); 
    } 
    } 
); 
thread.start(); 
+1

वर्ग शैतान थ्रेड फैलाता है { शैतान() { setDaemon (सत्य); प्रारंभ(); } सार्वजनिक शून्य रन() { // बुराई कार्यों ... } } प्रदर्शन करना मैं इस एक मिल ... मुझे लगता है कि setDaemon विधि जादू कर सकते हैं यू इस बारे में सुना है .. –

+0

। .. –

6

आप सेट थैमन विधि का उपयोग कर एक थ्रेड को डिमन के रूप में चिह्नित कर सकते हैं। जावा दस्तावेज़ के अनुसार:

इस धागे को या तो डेमॉन थ्रेड या उपयोगकर्ता थ्रेड के रूप में चिह्नित करता है। जावा वर्चुअल मशीन निकलती है जब केवल थ्रेड चलने वाले सभी डिमन थ्रेड होते हैं।

धागा शुरू होने से पहले इस विधि को कॉल किया जाना चाहिए।

यह विधि पहले इस धागे की चेकएप विधि को बिना किसी तर्क के कॉल करती है। इसका परिणाम सुरक्षा अपवाद (वर्तमान धागे में) फेंकने में हो सकता है।

यहाँ

एक उदाहरण:

Thread someThread = new Thread(new Runnable() { 
    @Override 
    public void run() { 
     runSomething(); 
    } 
}); 
someThread.setDaemon(true); 
someThread.start(); 
0
class mythread1 implements Runnable { 
    public void run() { 
    System.out.println("hii i have set thread as daemon"); 
    } 


    public static void main(String []arg) { 
    mythread1 th=new mythread1(); 
    Thread t1 = new Thread(th); 
    t1.setDaemon(true); 
    t1.start(); 
    System.out.println(t1.isDaemon()); 
    } 
} 
संबंधित मुद्दे