我经历了一些问题,例如多处理器系统上的POSIX 线程和多处理器机器中 posix 线程的并发性以及线程和进程与多线程和多核/多处理器:它们是如何映射的?
基于这些和其他一些 Wiki 文章,我相信对于具有三个基本工作的系统,即输入、处理和输出
对于 CPU 密集型线程的 CPU 绑定处理数量(应用程序数量 * 每个应用程序的线程数)应该是处理器内核数量的 1 到 1.5 倍。
输入和输出线程必须足够大,以消除任何瓶颈。例如对于基于query/query-ack和response/response-ack模型的通信系统,时间不能浪费在I/O等待状态。
如果对动态内存的需求很大,最好使用更多的进程而不是线程(以避免内存同步)。
在确定我们的应用程序中的线程数时,这些参数是否相当一致?我们是否需要查看任何其他参数?