3

Javaでスレッドの最大数をチェックするプログラムを作成しました

public class Test extends Thread {
static int count;

public static void main (String [] args){
    for(;;){
        count++;
        System.out.println(count);
        new Test().start();
    }
}



@Override
public void run() {
    try {
        Thread.sleep(100000000);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
    }

最初の反復 -Xmx1024m 、最大スレッド = 2011 > 2 回目の反復 -Xmx512m 、最大スレッド = 3350 > 3 回目の反復 -Xmx2m 、最大スレッド = 5112

-Xss1m ,max thread = 1011 を設定してみました。次に、-Xss256k max thread 4900+ を設定しました。

2 つの質問が
あります。1) Java のスタックとヒープ サイズの関係は何ですか?
2)スレッドの最大数がJavaに依存する要因は何ですか?

4

2 に答える 2

0
May be the answer is  in 
java.lang.Runtime class
java.lang.management package
java.lang.instrument package
If you can see it in depth.
于 2012-12-24T11:38:03.540 に答える