我有一个接收 UDP 消息的低延迟系统。根据消息,系统通过发送 0 到 5 条消息进行响应。找出每个可能的响应需要 50 us(微秒),所以如果我们必须发送 5 个响应,则需要 250 us。
我正在考虑将系统拆分,以便每个可能的响应都由不同的线程计算,但我很好奇为使其更好所需的最短“工作时间”。虽然我知道我需要对此进行基准测试,但我对应该在单独的线程上完成的最少工作的意见感兴趣。
如果我有 5 个线程在等待一个信号来完成 50 us 的工作,并且它们竞争不多,那么在所有 5 个线程完成之前的总时间会多于还是少于 250 us?