2011-06-29 9 views
1

スレッドサイズが3の場合のサンプルコードは次のとおりです。どこで私はメモリを管理することができます。スレッドのサイズが50の場合、問題があります。私は5.スレッドがいずれかの助けは、setdaemon()メソッドの使用は何ができる他Thread in RoundRobinメソッド

Thread[] TCreate = new Thread[iThreadSize]; 
for (int i = 0; i< TCreate.length; i++) { 

    TCreate[i] = new Thread(new Runnable() { 
     public void run() { 
      lst.Add(this.getResult(url)); 
     } 
    }); 
    TCreate[i].setName("URL"+i); 
    TCreate[i].start(); } 

for (int j = 0; j < TCreate.length; j++) 
    while (TCreate[j].isAlive()) 
     Thread.sleep(10); 

によって再利用されなければならない仕上げとしてthreadsizeを設定する必要があります。デーモンの目的は何ですか助けてください助けてください

+0

は、エディタではない引用ボタンを '{}'ボタンを使用し、コードをフォーマットします。私はあなたのためにそれを固定した –

答えて

1

Javaには既にスレッドプールを管理するためのメソッドが含まれています。

Executors.newFixedThreadPool(5)を呼び出すと、5つのワーカースレッドを含むスレッドプールが生成されます。

その後、プール内のスレッドのonによって実行されるRunnablesを割り当てることができます。

参照:

2

setDaemonは、スレッドがデーモンスレッドであるかどうかを制御します。プログラムがメインメソッドの終わりに達したときにデーモンスレッドがまだ実行されている場合、プログラムは終了しません。非デーモンスレッド(ユーザースレッド)は、プログラムの終了を維持します。