2012-03-10 56 views
6

我必须创建一个模拟大约50-100个节点的Java程序。我想测试一些路由算法并分析网络性能。我尝试使用线程来模拟节点,但是当我使用更多的线程时,CPU利用率就像任何事情一样。有没有一种方法来模拟Java中的网络。如果是这样的话?使用Java进行LAN仿真?

+1

难道你不想追求*为什么它“像任何东西一样”,因为Java可以处理大量的线程? – 2012-03-10 14:42:35

+0

除非你有成千上万的连接,否则这应该不成问题。 – 2012-03-10 16:54:48

+1

没有一些代码,没有人可以真正告诉你为什么你的CPU利用率变高。如果你使用正确的线程,他们将花费大部分时间等待“事件”(定时器或数据流)并消耗很少的CPU。也许你有一个忙碌的等待循环? – 2012-03-10 23:41:39

回答

2

您可以创建一个代理服务器,该服务器在延迟后传递流量,其中可能包括基于带宽限制的延迟。在展示所有可能存在的问题方面,这不如一个真正的LAN,但这可能是一个好的开始。