2017-06-03 108 views

回答

1

读取和添加使您能够以原子方式读取和修改内存位置。共识意味着协议(在这种情况下为获取和添加)可以为n个不同的线程提供共识。

这是什么意思?

我们的目标是使用协议,例如,一个线程确定一个值,并且该值被所有其他线程采用。你可以谷歌一些这些协议。在多线程中,我们可以自动修改内存并且线程有时决定一个值,这一点很重要。

重要的是要注意共识协议是无等待的,这意味着即使一个人死亡(出于某种原因)所有线程都会取得进展。因此,在使用多线程时,了解对象一致性编号非常重要。一个共同的数字例如一个原子寄存器(1)告诉我们,我们将永远不能仅使用原子寄存器来实现一个对象,这个寄存器可以为2个线程提供共识。这就是为什么我们在多线程中使用诸如读取和添加的构造。

示例 OS中的调度通常使用FIFO队列完成。先进先出队列有两个共识,因此将它们用于多线程是安全的。

相关问题