티스토리 뷰

쓰레드의 문제점과 동기화

 

컴퓨터는 위 그림처럼 프로그램을 수행을해서

위 계산을 보면 j에 30이 할당 된다고 예측할 수 있습니다.

 

그런데 만약

 

int i = 10

i+=10 의 연산 결과를 두개의 쓰레드에 의해 덧셈 연산을 한다고 했을때,

 

쓰레드는 코드영역을 공유하기 때문에 똑같은 코드를 2번 작업하여 시스템 성능을 저하 시키게 됩니다.

 

동기화

 

*임계영역(critical-section): 둘이상의 쓰레드에 의해서 공유되는 메모리 공간에 접근하는 코드영역

 

동기화:

1) 공유된 메모리에 둘 이상의 쓰레드가 동시에 접근하는 것을 막는 행위

2) 둘 이상의 레드 실행순서를 컨트롤 하는 행위

댓글