如果我 运行 在具有 1 个线程的 vps 服务器上运行一个 2 线程应用程序,会发生什么情况?

What will happen if i run a 2 threaded application on a vps server with 1 thread?

对于我未来的项目,我希望我的应用程序能够在具有 1 个线程的 Linode/UpCloud vps 上全天候 24/7 运行。 我的应用程序使用线程 python 库来执行多个任务,如果我 运行 该应用程序在 1 个线程上,会发生什么情况? 谢谢!

简答:

它会 运行 没问题。 例如

  • 给定线程 1 CPU
  • 给定线程 2 CPU
  • 给定线程 1 CPU
  • 给定线程 1 CPU
  • 给定线程 2 CPU

解释:

多线程并不一定意味着它也是多处理。如果只有一个 CPU 一个线程,那么你的应用程序中的线程将 运行 轮流(几乎)。而且这个上下文切换的速度快到你感觉不到

编辑(感谢 Barmar 的评论):

这就是所谓的“分时”,这就是计算机只有一个进程时多个进程的工作方式CPU。