在jvm中搜索Web并发时,我发现了有关为Scala / Java搜索非阻塞IO库的问题。
有什么问题?如果我想向文件/套接字发送内容,我可以启动单独的线程来完成这项工作。
我知道使用基于事件的线程可能会出现问题 - 因为整个系统都可能被阻止。但它是否引用了JVM / Scala?
ADDED :
如果我错了,请纠正我:
我认为当你需要以异步方式调用某些IO函数时,它需要进入单独的进程或系统(重)线程。我对吗?
所以 - 所有关于用通用语言解决这类问题的问题都涉及创建和管理单独的进程或线程。因此,该语言的唯一便利是创建一些线程池,这些线程将被分配给异步中的IO操作。
所以我的假设是。
句子:语言X比Y好,因为调用异步IO操作不会阻止虚拟机是错误的,因为在支持系统线程的每种语言中都有可能管理NIO,唯一的区别就是语言X通过内置库/语言功能为此提供了更好的支持。
答案 0 :(得分:2)
Scala有许多用于并发的工具,而NIO有一些用于非阻塞IO的工具。因此,毫不奇怪,有很多优秀的库可以帮助连接点:
答案 1 :(得分:2)
以下是一篇可能对您有所帮助的有趣博客文章:http://jim-mcbeath.blogspot.com/2011/03/java-nio-and-scala-continuations.html