我在XNA中有一个游戏需要进行网络调用。在update方法中,我确定需要发送什么,然后将其添加到要发送的内容列表中。然后我运行网络调用。显然,这会严重减慢应用程序的速度。所以我首先尝试在update中创建一个新线程,使其在单独的线程上运行:
Thread thread;
thread = new Thread(
new ThreadStart(DoNetworkThing));
thread.Start();
我认为创建线程会产生开销,这会导致速度更慢。最后,我写了一个方法,在其中使用
while(true){DoNetworkThing();}
,它将不断循环并重复运行网络调用(它会检查是否已经忙于某个调用,以及是否有要发送的内容)。我在LoadContent方法中的一个线程中调用了该方法,因此它将在自己的线程中与游戏同时运行。但���这样做速度真的很慢。那么我做错了什么?怎样是最好的方法呢? 谢谢