使用多线程同时加密文件

时间:2017-06-09 20:39:05

标签: multithreading encryption

  

如果我有一个线程加密视频60秒

     

我可以加密1000个视频吗

     

1000 thresds

     

60年代?如果是这样,为什么/如何?

这是一次技术访谈。答案似乎是肯定的,但我不能说为什么。

如果你运行1000个线程,那么CPU处理/功率是否会被分成1000个?所以我的回答是否定的。

帮助?

3 个答案:

答案 0 :(得分:1)

答案仅取决于您计算机上的核心数量。如果你有1000,是的,你可以。

答案 1 :(得分:1)

在我看来,这对面试官来说有点愚蠢。

如果我们假设加密的唯一资源瓶颈是cpu(不现实 - 想想io)。

如果我们还假设你有一台1000核机器。

最后假设一个线程完全消耗整个60秒的核心,理论上,如果你将代码并行化以运行1000个线程,你可以在60年代加密1000个视频。

我个人认为这有一些疯狂的假设。

答案 2 :(得分:0)

我不喜欢采访中的这类问题 - 或者这类采访。

但我想这更多是关于事物的理论方面。问题背后的想法是加密例程不依赖于彼此。所以我猜答案是肯定的。

这也可以通过最终的“如果是这样,为什么/如何?”轻松推断出来。即使你回答“否”,你似乎也不许澄清你的答案。

当然可以有任何可以提出的“但是”。如果加密密钥在智能卡上并且无法复制怎么办?如果您没有1000个内核可以使用该怎么办?如果在使用多个核心时遇到严重的缓存命中怎么办?如果输入设备是磁盘而不是快速内存怎么办?

但这一切并没有使肯定的事实无效, 肯定是可能的。