![]() |
1
1
免责声明:我对OpenMP一无所知。但是,我可以说是的,两个线程同时对一个列表执行后推(或任何其他修改操作)将导致问题,与对单个变量相同。 我不知道OpenMP为您提供了哪些工具来保护您不受此影响。避免这个问题的一些常见方法:
如果您有许多线程,并且第二种方法与您的算法相匹配,那么第二种方法可以提供更好的结果。有些算法不能这样构造。 如果没有很多线程,根据循环体的大小,简单的锁可能是最有效的解决方案。 |
![]() |
2
0
STL容器本质上不是线程安全的。您需要使用同步机制来保护对它们的访问。典型的可以是信号量或互斥量,互斥量通常是两者中的较快者。 |