所以我正在处理以下情况。我希望我的所有线程都执行一个循环,直到它们都没有达到某个“if”,所以我使用一个存储 0 的全局变量,当到达 if 语句时,该变量变为 1。
问题是,在循环结束时,我做了一个屏障来同步所有线程(在我的情况下我只有 4 个),并且只有达到 if 的值具有全局变量 1,其他线程的值为 0。
这个怎么可能?全局变量如何在不同的线程中具有不同的值?
所以我正在处理以下情况。我希望我的所有线程都执行一个循环,直到它们都没有达到某个“if”,所以我使用一个存储 0 的全局变量,当到达 if 语句时,该变量变为 1。
问题是,在循环结束时,我做了一个屏障来同步所有线程(在我的情况下我只有 4 个),并且只有达到 if 的值具有全局变量 1,其他线程的值为 0。
这个怎么可能?全局变量如何在不同的线程中具有不同的值?