Poisson Arrival でサーバーに接続するクライアントをシミュレートしたいと考えています。到着間隔が指数分布に従うことはわかっていますが、問題があります。毎秒来るクライアントをシミュレートしたいので、ラムダ = 1/1 (平均の逆数) を想像してみてください。クライアントを生成するために私は:
public static double exp(double lambda) {
if (!(lambda > 0.0))
throw new IllegalArgumentException("lambda must be positive: " + lambda);
return -Math.log(1 - uniform()) / lambda;
}
public static void main(String[] args) throws Exception {
for (int i = 0; i < 50; i++) { //generate 50 clients
Client c = new Client();
c.startClient(); // it is non blocking
sleep((long) exp(1.0/1.0));
}
}
sleep メソッド内に *1000 を追加する必要がありますか? sleep は引数をミリ秒と見なすため、私が聞きたいのはそれだけです。