2 核系统中从 HDD 读取和加密文件的最佳线程数是多少?

问题描述 投票:0回答:1

2 核系统中的最佳线程数是多少,假设它必须: 1)从硬盘读取文件 2) 通过使用密钥对其字节进行异或来加密文件 3)在网络上传输加密文件

我认为2)可以并行完成,3)可以并行完成,但据我了解1)不能并行完成,因此系统必须仅使用1个核心将文件读入RAM,然后2) 3) 可以使用 2 个核心来完成。我说得对吗?

multithreading pthreads cpu-cores
1个回答
1
投票

查看文件读取不是 CPU 密集型进程,而是 IO 密集型进程。因此它仅由 DMA 控制器直接处理。无论如何,所有这些文件操作都应该仅在单线程中处理。

通过单独的线程从文件中读取内容后,您可以并行化异或操作。即使您可以将文件垃圾放入一个队列中,多线程异或线程将从队列中读取内容并执行其操作,并将结果发送回网络。如果您使用异步套接字通道,那么它不会阻止您,因此每个 x-oring 线程都可以将其内容放入该通道中。

就是这样。

© www.soinside.com 2019 - 2024. All rights reserved.