由于 GIL,您不太可能使用多线程来利用多核去执行 CPU 集中的 Python 运算,因此势必要用到多进程去充分利用多核资源。考虑到大量的并发连接,每个进程中应该由一个线程负责非阻塞 I/O 调度。由于帧同步需要保证服务器一定频率的输出,所以在无法应用 RTOS 的一些概念的情况下,应设置自动监督机制,根据单调时钟计算实际的帧频,并在必要时拒绝更多连接/更多房间的创建,以保持帧频。另外,尤其要注意将阻塞调用隔离到线程池中。
由于 GIL,您不太可能使用多线程来利用多核去执行 CPU 集中的 Python 运算,因此势必要用到多进程去充分利用多核资源。考虑到大量的并发连接,每个进程中应该由一个线程负责非阻塞 I/O 调度。由于帧同步需要保证服务器一定频率的输出,所以在无法应用 RTOS 的一些概念的情况下,应设置自动监督机制,根据单调时钟计算实际的帧频,并在必要时拒绝更多连接/更多房间的创建,以保持帧频。另外,尤其要注意将阻塞调用隔离到线程池中。