Programming/Computer Science
시스템프로그래밍 - 쓰레드의 문제점과 동기화
Yizi
2017. 11. 27. 16:17
쓰레드의 문제점과 동기화
컴퓨터는 위 그림처럼 프로그램을 수행을해서
위 계산을 보면 j에 30이 할당 된다고 예측할 수 있습니다.
그런데 만약
int i = 10
i+=10 의 연산 결과를 두개의 쓰레드에 의해 덧셈 연산을 한다고 했을때,
쓰레드는 코드영역을 공유하기 때문에 똑같은 코드를 2번 작업하여 시스템 성능을 저하 시키게 됩니다.
동기화
*임계영역(critical-section): 둘이상의 쓰레드에 의해서 공유되는 메모리 공간에 접근하는 코드영역
동기화:
1) 공유된 메모리에 둘 이상의 쓰레드가 동시에 접근하는 것을 막는 행위
2) 둘 이상의 레드 실행순서를 컨트롤 하는 행위