为什么Dropbox使用这么多线程?

Nic*_*lin 7 multithreading dropbox

我对线程的理解是,在开始降低效率之前,每个内核只能有一个线程,而每个线程只能有两个超线程。

这台计算机有八个核心,因此最好在8/16线程下工作,但是许多应用程序使用的是它的数倍,尤其是Dropbox。

Dropbox Windows 7进程,突出显示104个线程。

在只有4个核心的笔记本电脑上闲置时,它也使用95个线程。

为什么会这样呢?为了方便编程,它是否有这么多线程?我是否误解了线程效率?还是完全不然呢?

jua*_*ncn 2

我看了一下Mac版的客户端,好像是用Python写的,而且用了好几个框架。

  • 一些内部演员系统似乎使用了一堆线程
  • 他们使用 Nucleus 进行应用程序分析
  • 好像有p2p网络
  • 一些网络线程(每个炒作核心一个)
  • 全局池(每个物理核心一个)
  • 用于文件监视和缩略图生成的许多线程
  • 任务调度程序
  • 记录
  • 指标
  • 数据库检查点
  • 一种叫做无限配置的东西
  • ETC。

大多数都是闲置的。

它看起来像是子系统的大杂烩,每个子系统都启动自己的线程,但它们在内存或 CPU 方面似乎并不太昂贵。