首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala播放框架和NIO.2

Scala播放框架和NIO.2
EN

Stack Overflow用户
提问于 2016-06-18 16:57:27
回答 1查看 209关注 0票数 1

我正在scala中编程,用play framework 2.5.3开发一个web应用程序,我需要创建一个TCP /client,它将利用play的异步模型。看了一会儿之后。我在Java 7中学习了NIO.2's AsynchronousServerSocketChannel/AsynchronousSocketChannel,我在这里找到了一个针对Scala的NIO.2实现(https://gist.github.com/happy4crazy/1901b1be0cb924898d13)。

修改后,我能够运行代码并检查jvisualvm中的线程。我注意到NIO.2在接受连接时正在创建自己的线程。我担心NIO.2's Threadsplay framework's dispatcher线程会在高压力下导致问题并减缓web应用程序的运行速度。这会导致问题吗?是否有更好的方法来使用play框架的异步模型来实现integrate NIO.2

先谢谢你,弗朗西斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-18 19:33:36

当Play使用Netty进行I/O时,Netty有自己的线程池,并且不会引起问题(https://www.playframework.com/documentation/2.5.x/ThreadPools)。因此,我可以假设NIO.2有自己的线程池也是安全的。

同时,您可以将NIO.2配置为使用与Play相同的线程池。首先,提取游戏的线程池。让它命名为executor。然后

代码语言:javascript
复制
AsynchronousChannelGroup group = AsynchronousChannelGroup.withThreadPool(executor);
AsynchronousServerSocketChannel channel = AsynchronousServerSocketChannel.open(group);
AsynchronousSocketChannel channel = AsynchronousSocketChannel.open(group);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37899478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档