<分区>
我目前正在为游戏开发一个简单的 UDP 服务器。我已经在 ThreadPoolExecutor
的帮助下实现了多线程。在阅读有关如何最大化性能的文章时,我偶然发现了 ObjectPooling
。阅读之后,我留下了 3 个问题:
1) 服务器程序能否利用 ObjectPool?
2) 哪些“对象”应该被合并,哪些不应该?
3) 如何创建一个简单的对象池?
<分区>
我目前正在为游戏开发一个简单的 UDP 服务器。我已经在 ThreadPoolExecutor
的帮助下实现了多线程。在阅读有关如何最大化性能的文章时,我偶然发现了 ObjectPooling
。阅读之后,我留下了 3 个问题:
1) 服务器程序能否利用 ObjectPool?
2) 哪些“对象”应该被合并,哪些不应该?
3) 如何创建一个简单的对象池?
最佳答案
这里是你问题的答案,
1) Will a server program be able to take advantage of an ObjectPool?
是的,任何对象都可以被合并。如果对象创建是繁重的操作,通常会使用对象池。
2) Which "Objects" should be pooled and which should not?
任何对象都可以被池化。
3) How to create a simple ObjectPool?
您可以使用 apache 公共(public)池实现简单的池。有关详细信息,请参阅 https://commons.apache.org/proper/commons-pool/examples.html
编辑:仅供引用,我们使用 apache 公共(public)池实现对象池以连接到 CORBA 客户端。连接到 CORBA 和创建对象需要更多时间,因此我们实现了 CORBA 客户端池。
关于java - 关于对象池的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55377908/
相关文章:
java - 我需要使用什么 pom 才能在 Java 中使用 Azure Graph?
java - 如何在 Groovy 中调用一个简单的 getter 方法?
android - 构建Android XMPP即时通讯工具和服务器示例
python - Multiprocessing pool.join() 在某些情况下挂起
java - Spring应用程序上下文有我的bean,但@autowired看不到它
angular - Nginx:带有 Web 组件的 Angular 应用程序 - 脚本类型 ="module"错误