在编写并行程序很多时候,我遇到了制作具有唯一组 2 值的东西的问题。换句话说,这是握手问题,每个人都必须与其他人握手。握手后,有一个晚餐等待所有参与者。
我知道有两种方法可以做到这一点:
给所有男人编号,让每个男人平行,他们将与人数较少的男人握手。在最后一个号码的人要求每个人握手之前,晚餐会变冷。
我们会告诉大家有多少参与者,并根据这个价值创造条件,所以每个人都会动摇。平行的手数相等。晚餐会很冷,因为参与者数学不好。(在这种情况下,人们可以像其他人一样行事)
我们也可以用人来交换数字,用摇晃来比较、乘法等。问题是我们想在天冷之前吃掉晚餐,等待一个线程或制造很多条件会减慢这个过程。
还有其他更有效的方法吗?