Scala/Java中的NIO问题是什么
在搜索jvm中的并发性时,我发现了有关搜索Scala/Java的非阻塞IO库的问题 问题出在哪里?如果我想发送一些东西到文件/套接字,我可以启动单独的线程来完成这项工作 我知道使用基于事件的线程可能会有问题,因为整个系统可能会被阻塞。但它是否引用了JVM/Scala 添加了:Scala/Java中的NIO问题是什么,java,scala,concurrency,parallel-processing,nio,Java,Scala,Concurrency,Parallel Processing,Nio,在搜索jvm中的并发性时,我发现了有关搜索Scala/Java的非阻塞IO库的问题 问题出在哪里?如果我想发送一些东西到文件/套接字,我可以启动单独的线程来完成这项工作 我知道使用基于事件的线程可能会有问题,因为整个系统可能会被阻塞。但它是否引用了JVM/Scala 添加了: 如果我错了,请纠正我: 我认为,当您需要以异步方式调用某些IO函数时,它需要进入单独的进程或系统(重)线程。我说得对吗 因此,用通用语言解决这类问题的所有问题都涉及到创建和管理单独的进程或线程。因此,该语言的唯一便利之处是
如果我错了,请纠正我:
我认为,当您需要以异步方式调用某些IO函数时,它需要进入单独的进程或系统(重)线程。我说得对吗
因此,用通用语言解决这类问题的所有问题都涉及到创建和管理单独的进程或线程。因此,该语言的唯一便利之处是创建一些线程池,这些线程将以异步方式分配给IO操作 所以我的假设是。
语言X比语言Y更好,因为调用异步IO操作不会阻止虚拟机是错误的,因为在支持系统线程的每种语言中都有可能管理NIO,唯一的区别是语言X通过内置库/语言特性对此有更好的支持
Scala有很多用于并发的工具,NIO有一些用于非阻塞IO的工具。因此,不足为奇的是,有很多伟大的库可以帮助连接这些点:
- 。。。用于建筑的图书馆 异步RPC服务器和客户端 使用Java、Scala或任何JVM语言。 建在Netty之上的Finagle提供了 提供了一套丰富的协议工具 独立的
- 是一个非常好的、功能强大的actors/concurrency/services包,它还使用Netty实现其内置的远程处理功能
- 是另一个来自推特的,也是建立在Netty上的,但不确定它是否被欺骗所取代