问题描述:
假设java客户端程序通过Rserve调用一个R模型耗时n秒。客户端并发x个线程调用R模型,单个线程调用耗时大于n,是n的数倍,为什么?
解释:
R模型是CPU密集型的任务,执行R代码时,需要大量的CPU计算。单个线程执行时,
所有CPU资源都处理这一个任务,执行较快。当并发n个线程执行时,分到每个线程上面的CPU执行时间缩短,
导致单个任务执行时间变长。
假设java客户端程序通过Rserve调用一个R模型耗时n秒。客户端并发x个线程调用R模型,单个线程调用耗时大于n,是n的数倍,为什么?
解释:
R模型是CPU密集型的任务,执行R代码时,需要大量的CPU计算。单个线程执行时,
所有CPU资源都处理这一个任务,执行较快。当并发n个线程执行时,分到每个线程上面的CPU执行时间缩短,
导致单个任务执行时间变长。
总结:对于CPU密集型的任务,不适合通过并发缩短全部任务运行时间。
本文探讨了Java客户端通过Rserve并发调用R模型时,单个线程执行时间变长的原因。指出R模型为CPU密集型任务,在多线程并发情况下,由于CPU资源分配减少,导致单个任务执行时间增加。
5111

被折叠的 条评论
为什么被折叠?



