处理大量实例并发性的轻量级方法



我有一个类HostServer,其中包含我的其他类型的服务器(实际上是Minecraft服务器)的实例,这个主机类可能被创建超过100次(取决于用户)。所以我想知道,对于相当数量的实例(对于宿主类),什么是处理并发性的好方法?我想我可以使用锁(ReentrantReadWriteLock),但是如果有很多实例,它可能会相当重。

谢谢你的回答

编辑(回复评论):

我实际上需要共享资源,因为有一个更新线程,而其他线程只是读取数据。

我的需要是有最近的数据,所以我需要处理的事实,如果一个线程读和其他线程写,写必须先来。虽然,我不希望代码太重,因为我可能有很多实例(对于主机类,从10到1000,对于Minecraft服务器类,从20到10000)。

实际代码:https://github.com/devcreart/GameStack/blob/develop/server/src/main/java/fr/creart/gamestack/server/server/HostServer.java

再次感谢

过早优化是万恶之源。

如果你不能确切地知道你有一个性能问题,就做一个简单的解决方案。

如果你有一些需求或假设,那么尝试创建负载测试,并在测试后做一个结论。

但是如果你现在有性能问题,试着把一个共享状态移到一些非阻塞的数据结构上。

最新更新