Java多线程保存/加载大量数据的最佳方法

时间:2013-07-21 16:39:52

标签: java multithreading save

对于我正在写的游戏,世界被保存为大块。每个块(保存时)都不到200kb(它们是非常大的块)。每当加载世界时,需要加载121个块。每一个只需要几分之一秒,但所有这些分数加起来并导致花费几秒钟。

这没关系,但保存更重要。当玩家走进新的块时,所有超出范围的块将被保存并卸载。由于每次保存只需要几分之一秒,每次玩家移动块时我都会得到超过一秒的滞后峰值。出于这个原因,我希望使用线程来保存和加载块,以便在游戏仍在运行时保存/加载块。

我不知道如何实现这样的事情。所以,如果有人可以分享教程的链接或提供一些我可以使用的源代码,那就太棒了!

谢谢!

1 个答案:

答案 0 :(得分:0)

我会使用内存映射文件,我会在尽可能少的文件中加载(每个文件增加一个开销)

如果这样做,您可以在几分之一秒内加载/保存GB。