g_hash_table_lookup
とはg_hash_table_insert
スレッドセーフですか? 次のようなコードを使用できますか:
dict = g_hash_table_new();
for (i = 0; i < N; i++) {
compute_A();
find_hash_of_A();
void *value = g_hash_table_lookup(dict, key);
struct MyStruct *obj;
if (!value) {
obj = (struct MyStruct *)value;
} else {
compute_obj
g_hash_table_insert(dict, key, obj);
}
do_something_with_obj
}
または、#pragma omp parallel for
他の OpenMP プラグマを使用する必要がありますか? 時々、そのループでエラーが発生しました。1 スレッド バージョンは正常に動作します。