루프 내외부에 mutex lock() 및 unlock()을 사용하는 것과 다른 속도가 혼동 스럽습니다. 글로벌 변수 값과 함수를 1000000 번 증가시킵니다. 이 함수는 5 개의 스레드에 의해 병렬로 실행됩니다. I 경과 시간을 측정하고 이들 결과를 얻었다 : 제어가 너무뮤텍스 잠금 속도 차이가 내부 및 외부 루프보다 우수함
for(int i = 0; i < 1000000; i++)
{
mutex.lock();
value++;
mutex.unlock();
}
2.10521 초 I은 제 2 내부 뮤텍스 배열로 가정
:
mutex.lock();
for(int i = 0; i < 1000000; i++)
{
value++;
}
mutex.unlock();
0.160921 초가
및 벌금과 많은 시간이 스레드 전환 사이에 보낸 무엇입니까? 아니면 다른 것이 있습니까?