我正在开发一项服务,该服务可以计算出将产品交付给客户的运费和频率。
流程如下-
- 我收到一件单品的请求
- 对于每个项目,我有 5 个不同的时间窗口来检查
- 对于每个时间窗口,我有 21 个不同的日子来检查每周频率。
如果我尝试在不产生线程的情况下实现这一点,我的服务大约需要 1 秒来计算所有所需的功能。
为了减少响应时间,我通过在不同级别生成线程来构建服务,如下所示 -
- 为请求中的每个项目生成线程
- 每个窗口每个项目产生的线程(5 个窗口对应于 5 个线程)
- 每个窗口每个日期产生的线程(21 个日期对应 21 个线程)
因此,如果我在请求中得到一个项目,我将总共产生(1x5x21 = 105 个线程)。这看起来正确吗?我应该担心堆空间或上下文切换时间用完吗?
任何线索都会有所帮助。提前致谢!!