2 개의 서로 다른 omp_lock_t를 만들고 서로 독립적으로 잠글 수 있다고 가정했습니다. 내가 GCC 4.4과 GCC 4.6.1와 코드의 다음 섹션을 시험하고 동일한 출력을 가지고 :OpenMP에서 omp_lock_t를 여러 개 사용할 수 있습니까?
omp_lock_t lockA;
omp_lock_t lockB;
omp_init_lock(&lockA);
omp_init_lock(&lockB);
std::cout << "Lock B is: " omp_test_lock(&lockB) << "\n";
omp_set_lock(&lockA);
std::cout << "Lock A set\n";
std::cout << "Lock B is: " omp_test_lock(&lockB) << "\n";
omp_set_lock(&lockB);
...
이 코드는 다음과 같은 출력이 생성 한 후
Lock B is: 1
Lock A set
Lock B is: 0
는 omp_set_lock에 교착 상태를 (& lockB) 시도.
두 개의 서로 다른 잠금을 만들고 독립적으로 사용할 수 있습니까? 가능한 경우 이러한 잠금을 설정하는 올바른 방법은 무엇입니까?
감사합니다.
대단히 감사합니다. 이렇게하면 모든 것이 완전히 지워집니다. – selecsosi