Concurrency 如何在更换当前发动机时保持系统运行

Concurrency 如何在更换当前发动机时保持系统运行,concurrency,race-condition,Concurrency,Race Condition,我们有两个系统,A和B。系统B发送写入和读取请求,以及A使用A中的现有引擎E_电流返回每个读取请求的响应。每个写入请求都会导致现有引擎E_电流的修改 定期将E_电流替换为E_新电流。在更新过程中,E_new尚未能够使用。此续订过程中出现的某些读取请求取决于续订过程开始后出现的写入请求。新引擎E_new还应该为续订过程中出现并已由处理的每个写入请求对自身进行修改 更新过程完成后,E_current将被逐出,E_new将变为E_current 要求: 请求是完全并发的。例如,写请求可以 在处理读取请

我们有两个系统,
A
B
。系统B发送写入和读取请求,以及A使用A中的现有引擎E_电流返回每个读取请求的响应。每个写入请求都会导致现有引擎E_电流的修改

定期将E_电流替换为E_新电流。在更新过程中,E_new尚未能够使用。此续订过程中出现的某些读取请求取决于续订过程开始后出现的写入请求。新引擎E_new还应该为续订过程中出现并已由处理的每个写入请求对自身进行修改

更新过程完成后,E_current将被逐出,E_new将变为E_current

要求:

  • 请求是完全并发的。例如,写请求可以 在处理读取请求时发出
  • 任何引擎E上的多次修改都可能导致状态不一致,应保持状态一致性
  • 图表: