草庐IT

swift-nio

全部标签

java - Scala/Java 中的 NIO 问题是什么

在网上搜索jvm并发性时,我发现了有关搜索Scala/Java的非阻塞IO库的问题。问题是什么?如果我想发送一些东西到文件/套接字,我可以启动单独的线程来完成这项工作。我知道使用基于事件的线程可能会出现问题-因为整个系统可能会被阻塞。但它是否引用了JVM/Scala?已添加:如果我错了请纠正我:我认为当你需要以异步方式调用一些IO函数时,它需要进入单独的进程或系统(重)线程。我对吗?所以-所有关于用通用语言解决此类问题的问题都涉及创建和管理单独的进程或线程。因此,该语言的唯一便利是创建一些线程池,这些线程池将异步分配给IO操作。所以我的假设是。句子:LanguageXisbettert

用于继续流式传输的 java.nio 选择器和 SocketChannel

我目前正在将java.nio.channel.Selectors&SocketChannels用于将打开一对多连接以继续流式传输到服务器的应用程序。我的应用程序有三个线程:StreamWriteWorker-对SocketChannel执行写入操作,StreamReadWorker-从缓冲区读取字节并解析内容,StreamTaskDispatcher-执行Selector对readyOps的选择并为工作线程分派(dispatch)新的可运行对象。问题-对选择器的选择方法的调用在第一次调用时仅返回一个>0的值(有效的readyOps);我能够一次性在所有就绪channel上执行写入和发送

java - 使用 java nio 路径时未安装 JBoss wildfly 8.x Provider "vfs"

我正在尝试将我的spring应用程序从glassfish4导出到JBosswildfly8.x或9alpha,但是当我的应用程序在我的代码的某些部分启动时抛出异常:Causedby:java.lang.RuntimeException:java.nio.file.FileSystemNotFoundException:Provider"vfs"notinstalledatio.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:218)atorg.wildfly.extension.

java - Jenkins 管道和 java.nio.file.* 方法的问题

我正在尝试使用java.nio.file.*中的方法在Jenkins管道中执行一些基本文件操作。无论代码存在于哪个节点block,代码都在主节点上执行。在管道中,我已经验证了各种节点block是正确的——它们唯一地标识特定节点。但是,pathExists(以及其他移动、复制或删除文件的代码)始终在主节点上执行。知道发生了什么或如何解决它吗?importjava.nio.file.*StringslavePath='C:\\Something\\only\\on\\slave\\node'StringmasterPath='D:\\Something\\only\\on\\master\

java.nio.Buffer 未在运行时加载 clear() 方法

这个问题在这里已经有了答案:Exceptioninthread"main"java.lang.NoSuchMethodError:java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer(1个回答)关闭去年。所以我是一个使用java代理注入(inject)的项目的开发人员。需要注意的是,这个错误发生在main调用之后。对于大多数用户来说一切都很好,但是有一些用户遇到了java.nio.IntBuffer没有加载clear()(继承自Buffer)的问题错误:java.lang.NoSuchMethodError:java.nio.IntBuffer.

java - 用于 UNIX sys/classes/gpio 文件的 NIO watchservice

是否可以在/sys/class/gpio/gpioX设备树中的文件上设置JAVANIOWatchService以监督那里的变化?直接从Java中检测GPIO文件(即GPIO输入)的变化是个不错的主意,但我担心这不受支持。确认它不受支持(可能还有原因)就足够了。 最佳答案 Java7NIOFileWatcher的linux实现使用inotify。Inotify是一个linux内核子系统,用于通知文件系统更改。它有限制并且不适用于/proc、/sys和网络共享。请阅读inotifylimitationsonwiki:Inotifydoe

Java NIO 服务器

目前我正在开发JavaNIO服务器(单线程)并且遇到了一些问题。服务器接受传入连接,将初始数据包(该数据包包含客户端用于进一步通信的一些数据)写入客户端但不从中读取。服务器仅在我关闭客户端时才尝试读取,当然,它会返回-1。当接受连接时,它被注册在:selectionKey=socketChannel.register(_selector,SelectionKey.OP_READ)selectionKey.isReadable()返回false(应该吗?)在发送初始数据包之前,ops更改为:_selectionKey.interestOps(_selectionKey.interestO

java - NIO 实现的最佳模型?

我正在将我们的java代码转换为使用NIO,但我不确定设计它的最佳方法。我最初的方法是创建一个选择器线程池。线程根据需要启动/终止,当channel以循环方式连接/接受时,channel将注册到选择器线程。从那里开始,每个线程都阻塞在select()上,当被唤醒时,将运行与每个具有选定键的channel关联的适当回调。除了这种“多选择器线程”设计之外,我还看到有人说要使用单个选择器线程和一个调度线程池。当IO操作准备好执行时,选择器通知调度程序线程,该线程随后处理请求。这种模型的好处是不会阻塞IO线程,但现在我们将所有IO强制到一个线程中,并在调度程序中处理同步/事件队列。此外,我无法

Java - 通过 channel 传输大文件 - NIO

我必须使用NIO通过ServerSocket传输约100MB的数据,但我不知道如何在不在任何地方中断传输/保持传输状态的情况下执行此操作。我的第一个想法是发送文件的大小,显然我不能发送这么大的文件,因为它甚至不能一次放在RAM上。然后我想,为什么不直接转账直到什么都没有收到,但那时候问题就来了。即使我一直在写服务器端数据FileChannelfc=newFileInputStream(f).getChannel();ByteBufferbuffer=ByteBuffer.allocate(1024);while(fc.read(buffer)>0){buffer.flip();whil

java - 将对象从 java.nio.file.Path 转换为 java.io.File

这个问题在这里已经有了答案:Java:PathvsFile(8个答案)关闭4年前。我想知道是否有可能以某种方式将定义为java.nio.file.Path的对象转换为java.io.File