2009-08-14 6 views
6

Javaプログラマはデーモンスレッドを手動で作成できますか?どうですか?デーモンスレッドを作成するにはどうすればいいですか?

+2

あなたは "デーモン" スレッドを意味しますか?この場合、Googleはさらにあなたを連れて行くことができます。 – Gishu

+1

これは実際にあなたが行っていることをしないかもしれないことに注意してください。デーモンスレッドはデーモンプロセスと同じではありません。 –

+0

Bijuとhttp://stackoverflow.com/users/124339/johannaは同じ人ですか? – sourcerebels

答えて

-4

はいすることができます

Thread thread = new Thread( 
    new Runnable(){ 
    public void run(){ 
     while (true) 
     wait_for_action(); 
    } 
    } 
); 
thread.start(); 
明示的に設定されていない場合、このプロパティは新しいスレッドを作成するスレッドから「継承」していることを
+1

クラスDevil extends Thread { Devil(){ setDaemon(true); start(); } ます。public void実行(){ //邪悪なタスクを実行し ... } } 私はこの1つを得た... uはこれについて聞いたことが.. –

+0

私はは、setdaemon方法は魔法を行うことができると思います。 .. –

6

提供されているsetDaemonメソッドを使用して、スレッドをデーモンとしてマークすることができます。 javaによると、doc:

このスレッドをデーモンスレッドまたはユーザースレッドとしてマークします。 Java仮想マシンは、実行中のスレッドのみがすべてデーモンスレッドである場合に終了します。

このメソッドは、スレッドを開始する前に呼び出す必要があります。

このメソッドは、最初にこのスレッドのcheckAccessメソッドを引数なしで呼び出します。これにより、(現在のスレッドで)SecurityExceptionがスローされることがあります。ここで

例:

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()); 
    } 
} 
関連する問題