我想模拟使用 Poisson Arrival 连接到服务器的客户端。我们知道到达间隔时间遵循指数分布,但我有一个问题。想象一下,我想模拟每秒来的客户端,所以 lambda = 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));
}
}
我需要在睡眠方法中添加 *1000 吗?这就是我想问的,因为 sleep 将参数视为毫秒。