How many threads for reading and writing to the hard disk?

后端 未结 7 2260
清酒与你
清酒与你 2021-02-14 16:32

i am developing an application that gathers a list with all the files of the hard drive and also afterwards it does write files to the hard drive.

I want to ask : what i

7条回答
  •  陌清茗
    陌清茗 (楼主)
    2021-02-14 16:51

    As the "C#" tag implies, I am assuming you are writing a managed application to perform disk I/O.

    In this case, I am guessing the number of user-level managed threads are irrelevant as they are not the one actually performing disk I/O.

    As far as I know, Disk I/O requests from the user-level managed threads will be queued in the kernel level APC queue and windows I/O threads will handle them.

    So, I would say the frequency of disk I/O requests to be queued in APC queue will be more relevant to your question.

    I have not seen any .NET threading API that allows binding any user tasks to Windows I/O threads. However, please note that my answer is based on a relative old information in the following link Windows I/O threads vs. managed I/O threads.

    If anyone knows better on the current Windows 7 thread pool model that is different from the information in the link, please kindly share the information to educate me as well.

    Also, you may find the following link useful to understand the windows file I/O operations: Synchronous and Asynchronous I/O

提交回复
热议问题