我试图通过模拟连接到服务器的多个客户端来对客户端/服务器系统进行压力测试。每个客户端都有一个线程。但是,当我运行以下代码(ClientStartEmulator() 代表客户端)时,线程按顺序运行而不是同时运行。(尽管在每个模拟客户端中有多个线程产量和睡眠)。有什么想法有什么问题吗?
另一种方法是对每个 jar 进行系统调用,但这会很烦人(此处未显示),我对返回的数组进行了一些处理。
谢谢!
ClientStartEmulator emu = new ClientStartEmulator();
emu.start(7777, "localhost", "examplestore", "foobar", "signFiles", "foobar", true, time, max_length);
ArrayList results = new ArrayList() ;
for (int i = 0 ; i<nb_clients ; i++ ) {
Thread client = new Thread() {
public void run() {
ClientStartEmulator emul = new ClientStartEmulator();
try {
emul.start(7777, "localhost", "examplestore", "foobar", "signFiles", "foobar", false, time, max_length);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
client.run();
}
}