繁体   English   中英

如何在Java中将文件读/写到硬盘驱动器排队?

[英]How to queue file read/writing to hard drive in java?

我有一台服务器,它接收来自成千上万个连接tcp套接字的客户端的请求,以从一个硬盘读取或写入数据。

我知道我需要一个线程来处理所有HD文件。在这种情况下,但如何将所有这些请求从套接字连接线程传递到一个主硬盘驱动器管理器,它将按某种顺序执行此工作并将数据转换为连接的套接字线程?

有没有办法以这种方式将任务排队?

当然,请查看生产者/消费者模式BlockingQueue

我不同意这里所说的话,与使用数据并写入数据到硬盘的管理器进行另一层比较好,并且更具可扩展性,您将释放连接线程来完成其自然的工作,并且拥有一个管理器提供任何所需的命令,例如停止写入磁盘或写入分布式其他源代码,如果您只是想把事情做好,则可以选择每种方法,每次写入磁盘时都应明智地将这些命令解释为系统调用,这些系统调用将通过缓存检查现有数据块,直到达到实际请求,然后将该请求与系统中的所有其他请求一起排队,并且其他一些磁盘线程将提取您的请求,这意味着您的连接线程可能不可用在等待响应的时候,那个线程可以完成一些工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM