蓝盟IT小贴士,来喽!
“阿q早点回去吧,旁边第二号单位的虎子改变了他们的数据,说发生了事件。”
k先生突然出现,我必须尽早结束与黑色的交流,回到CPU号工厂。
看到我回来,虎子立刻向我喊道。 “你们在做什么,只用几纳秒的时间就改变了数据。 告诉我该怎么办! ’他说
我听了恍惚的说:“虎子,先别着急,我刚回来,你能不能先弄清楚发生了什么事?”
其次,k先生告诉了我事情的经过。 原本,我们两个CPU工厂分别负责的线程执行I的操作,我们将I的值放入自己的缓存,结束后没有通知对方,但是加了两次,结果只有一次,发生了数据不一致。
原子操作
知道事件的经过后,我对虎子说:“大家都执行同样的代码。 这也不能怪我们呀”。
虎子说:“为什么不责怪你们,我们得先找个内存取I。 那你们得等我们完了再用啊。 真不敢相信。 我打电话给一个记忆男人,看看我们的二号工厂是不是先来了”。
“好吧,请冷静下来。 看着我们,不知道你们先拿走了。 即使已经发生了问题,我们也应该一起坐下来想办法回避这个问题。 你这么说吗? ’我说。
我们向领导报告了这个方案,立刻批准了。 之后,我们的8个职场依照这个方案工作,今后程序员们把I这样的动作变成原子操作后,问题就可以解决了。
但是,实施一段时间后,各工厂都很痛苦。 由于某工厂必须执行原子操作,总线主任锁定系统总线,其他工厂的人无法访问内存,严重影响了工作效率。
抱怨是抱怨,要坚持日子,直到没有更好的替代方案。
文/上海蓝盟 IT外包专家