我遇到的情况是我有一个旧的多线程应用程序,我正在尝试移至linux平台并转换为C ++。
我有一个固定大小的整数数组:
int R [5000];
我执行很多操作,例如:
R [5] =(R [10] + R [20])/ 50;
R [5] ++;
我有一个前台任务,该任务主要读取值..但有时可以更新一个。然后我有一个后台工作人员正在不断更新这些值。
我需要使该结构线程安全。
如果值实际上已更改,我宁愿仅更新值。工作人员会不断收集数据并进行计算和存储,无论数据是否更改。
所以我应该创建一个自定义类MyInt,该类具有以下结构,然后包括一个互斥锁数组以锁定以更新/读取每个值,然后重载[],=,++,+ =,-=等吗?还是应该尝试实现解剖整数数组?
有什么建议吗?我想尝试保留上面的注释以进行更新...但是我知道这不可能。
谢谢, WB