2009-08-14 25 views
6

Un programmatore java può creare manualmente i thread daemon? Com'è?Come posso creare i thread del daemon?

+2

vuoi dire le discussioni "demone"? In tal caso, Google può portarti oltre. – Gishu

+1

Tieni presente che questo potrebbe non fare ciò che cerchi davvero. Un thread daemon non è lo stesso di un processo daemon. –

+0

Biju e http://stackoverflow.com/users/124339/johanna sono la stessa persona? – sourcerebels

risposta

-4

Sì, è possibile

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

classe Devil extends Thread { Devil() { setDaemon (true); start(); } public void run() {// Eseguite attività malvagie ... }} Ho ottenuto questo uno ... U hanno sentito parlare di questo .. –

+0

penso metodo setDaemon può fare la magia. .. –

6

È possibile contrassegnare un thread come daemon utilizzando il metodo setDaemon fornito. Secondo il documento java:

Segna questa discussione come una stringa daemon o una discussione utente. La Java Virtual Machine si chiude quando gli unici thread in esecuzione sono tutti i thread daemon.

Questo metodo deve essere chiamato prima dell'avvio del thread.

Questo metodo chiama innanzitutto il metodo checkAccess di questa discussione senza argomenti. Ciò potrebbe comportare il lancio di SecurityException (nel thread corrente).

Ecco un esempio:

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()); 
    } 
} 
Problemi correlati