我想创建N个(serverAmount)线程来运行同一服务器(NotaryServer类)的N个副本。每个线程一个。
我在第一个for循环中初始化线程。
问题是当我尝试在第二个for循环中启动线程时。我查看了我的threadList线程并启动了每个线程,但是只有1个线程正在启动N次。
List<ServerManagerThread> threadList = new ArrayList<ServerManagerThread>();`
for(int i = 0; i < serverAmount; i++) {
String serverName = "ServerNr" + i;
threadList.add(new ServerManagerThread(new NotaryServer(serverName)));
}
for(int i = 0; i < serverAmount; i++) {
threadList.get(i).start();
}
我得到的错误是线程产生的输出都是相同的。 我应该得到这个(例如,当N = 2时):
ServerNr0 listening
ServerNr1 listening
相反,我得到这个:
ServerNr1 listening
ServerNr1 listening