C++ 在web执行模型中实现EXE时的设计选择
我正在设计一个作为网站后端运行的组件。这个组件会处理一些人工智能逻辑,而我正在C++中构建它。最好让每个会话启动一个新的EXE地址空间,或者EXE将启动并运行,每个会话将启动一个新线程C++ 在web执行模型中实现EXE时的设计选择,c++,executable,C++,Executable,我正在设计一个作为网站后端运行的组件。这个组件会处理一些人工智能逻辑,而我正在C++中构建它。最好让每个会话启动一个新的EXE地址空间,或者EXE将启动并运行,每个会话将启动一个新线程 或者有什么更好的建议吗?我最好让一个进程保持活动状态,并为每个“会话”创建一个新线程:如果你想在重载情况下获得良好的性能,那么启动一个新进程(fork、应用程序初始化等)将非常缓慢,可能会构成瓶颈 相比之下,创建一个新线程(在用户空间中)要轻得多 更好的是,您还可以保持进程运行,并创建线程池。然后,“管理器”线程
或者有什么更好的建议吗?我最好让一个进程保持活动状态,并为每个“会话”创建一个新线程:如果你想在重载情况下获得良好的性能,那么启动一个新进程(fork、应用程序初始化等)将非常缓慢,可能会构成瓶颈 相比之下,创建一个新线程(在用户空间中)要轻得多 更好的是,您还可以保持进程运行,并创建线程池。然后,“管理器”线程将处理新连接,将其分配给现有线程并启动它。在这种情况下,您甚至不需要为每个新连接创建新线程。如果需要,管理器线程可以根据应用程序的负载调整现有线程的数量 编辑: 这可能很有用: