Notice
Recent Posts
Recent Comments
목록2024/12/10 (1)
공부중
[C/C++] pthread 동기화에 관하여.
pthread 동기화에 관하여 글을 적어보려고 한다.일단 동기화 내용 하나 없는 아래의 코드를 보자.#include #include int g_value = 0;void *ADD(void* data){ for (int i = 0; i 위의 코드는 2개의 스레드를 생성해서 ADD함수를 각각의 스레드가 돌아가는데기대하는 출력값은 100,000회의 2번이니까 200,000이 되어야 하겠지만... 매번 실행할때마다 값도 다르고 의도한 값인 200,000이 될때도 있겠지만 되지않는 경우도 있다. 왜 저러한 일이 발생하냐면 간단하게 적자면 동기화가 일어나지 않은 경우이고좀 더 자세히 풀어보자면타임라인1번 스레드2번 스레드1값 읽기 ( 0 )waiting...2값 증가 ( 1 ) waiting...3waiting...
Programing/C, C++
2024. 12. 10. 20:33