이런경우 원자적 실행이 보장되나요??

ㅡ,.ㅡ;;의 이미지

공유메모리 shm을 할당하여 변수 i 를 선언하고

자식프로세서를 생성하여.. i 에 값을 증가 합니다.

shm->i = shm->i + 1;

이럴경우 i의 값이 읽혀지고 아직 데입이 완전히 끝나지 않은상태에서
형제 프로세스에서 i 의 값을 또 읽어 가버릴수 있나요?

멀티시퓨를 장착한 SUN 장비 입니다.

bugiii의 이미지

네.
그 문장 전체를 보호해야 합니다.

ㅡ,.ㅡ;;의 이미지

bugiii wrote:
네.
그 문장 전체를 보호해야 합니다.

C언어가 라인단위로 원자적실행이 보장되는 특성이 있는건가요??

만일 한라인 내부에 굉장히 긴 연산을 처리해도 원자적실행이 보장되나요?
예를들면..

i = x + (y * aaa( a+y )) / bbb( a+b+c+............z);

이런식의 경우도 원자적실행이 보장된다는건가요??


----------------------------------------------------------------------------

alsong의 이미지

bugiii님은 안된다는 뜻으로 말하신것 같은데.

그나저나 백수 언제 탈출하냐... ㅡㅡ; 배고파라.

sangwoo의 이미지

ㅡ,.ㅡ;; wrote:
bugiii wrote:
네.
그 문장 전체를 보호해야 합니다.

C언어가 라인단위로 원자적실행이 보장되는 특성이 있는건가요??

만일 한라인 내부에 굉장히 긴 연산을 처리해도 원자적실행이 보장되나요?
예를들면..

i = x + (y * aaa( a+y )) / bbb( a+b+c+............z);

이런식의 경우도 원자적실행이 보장된다는건가요??

라인단위로 원자적실행이 보장된다면 문장을 보호할 필요가 없겠죠.. :oops:

----
Let's shut up and code.

bugiii의 이미지

아고고... 죄송합니다. 그 네라는 대답은 마지막 문구에 대한 답변입니다...
:oops: