最近,我一直在创建一个使用结构创建多线程的程序。在我的子例程中,我注意到我的struct中的值从未被传递过(它们是随机的东西)。我被告知要在创建的每个线程中实例化一个新的结构,但这对我不起作用(可能是因为语法原因)。 我正在寻找一种进行小修改的方法,以便在创建线程时将结构中的值传递给子例程。结构: struct Node {
long i
OpenMP标准只考虑ISO98( C++ 14882:1998)。这意味着在C++03甚至C++11下没有支持OpenMP用法的标准。因此,任何使用C++ >98和OpenMP的程序都在标准之外运行,这意味着即使它在某些条件下工作,它也不太可能是可移植的,但绝对不能保证。对于具有自己的多线程支持的C++11,情况甚至更糟,这很可能会在某些实现中与OpenMP发生冲突。
那么,在C++03和C++11中使用OpenMP有多安全呢