【问题标题】:Java NIO questions on multithreadingJava NIO 关于多线程的问题
【发布时间】:2019-03-08 00:13:18
【问题描述】:

你可以用 Java Nio 吗:

1.) 将 asyncrhonousFileChannel 与选择器一起使用?

2.) 为单个文件创建多个通道?

如果我要打开多个 RandomAccesFiles 到同一个空文件,如果我知道每行将写入多少字节以及最大行数,我是否能够写入不同的位置?

【问题讨论】:

  • 1.使用带有Selector 的任何类型的异步通道的想法在术语上是矛盾的。 2. 您不需要多个渠道或多个RandomAccessFiles 来实现该目标。

标签: java io nio


【解决方案1】:

1.) 将 asyncrhonousFileChannel 与选择器一起使用?

Selector 只支持SelectableChannel 并且SelectableChannel 必须在无阻塞模式下工作,AsynchronousFileChannel 使用线程池和回调来做异步工作,所以AsynchronousFileChannel 不能使用 Selector。

2.) 为单个文件创建多个通道?

是的,您可以为一个文件创建多个频道。

【讨论】:

    猜你喜欢
    • 2014-04-04
    • 2011-04-18
    • 2012-06-22
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 2016-06-23
    相关资源
    最近更新 更多