【发布时间】:2015-04-12 07:35:45
【问题描述】:
OpenMP 锁和临界区有什么区别?它们只是彼此的替代品吗? 例如,如果我使用多个文件写入同一个文件,我应该在写入文件之前使用锁定还是只使用临界区?
【问题讨论】:
-
你在写什么文件?你是从每个线程写的吗?你使用任务还是并行循环?你是从所有线程写的吗?你有一些代码吗?你心目中的语言是什么? (OpenMP 支持 Fortran、C 和 C++)您的问题非常广泛且难以回答,您应该缩小范围。
-
好的,我将尝试一个简单的操作。我在 C++ 中使用了一个 char 缓冲区,当一个线程正在写入该缓冲区时,我只想让其他线程不要尝试读取或写入该缓冲区.一次只有一个线程可以访问缓冲区。它可以读取或写入该缓冲区..所以我应该在关键部分下写入缓冲区还是使用锁
-
这真的取决于你的代码的整体设计。
标签: openmp