我将创建一个网络系统,可以处理 7000+ tcp 套接字客户端和5KB/s输入(客户端发送)。我研究了这个问题:Link>>。他们说“创建 1024 个线程来处理 1024 个客户端”。我知道有一个名为“select()”的方法而且我认为我无法打开 7000+ 线程来处理 7000+ 客户端,因为我的处理器(或服务器)只有 8CPU,这意味着 7000+ 线程是一个大错误。现在我想我会创建 ~1000 个线程,我会处理这个线程中的每 7 个套接字组。但现在的问题是:如果我有相同的应用程序但我有 2CPU 处理器,我无法通过 1000 个线程获得最大性能,我应该创建(也许)500 个线程。否则,如果我有 8CPU 处理器,我无法获得最大值。1000 个线程的性能,我需要创建(也许)2000 个线程来处理套接字。我如何理解“这个处理器可以处理 X 线程”?这是真的吗?
编辑:我想我可以创建一个正在观看节目的分析器。即,每个线程都记录“我在 X 秒内完成了我的工作”。和分析器处理这些消息并决定创建一个线程或杀死一个线程。但是如何理解线程(或 CPU)的状态呢?