[7급 국가직 프로그래밍언어론 2008년 17번]

다음은 프로세스 P1, P2, P3과 main을 실행하는 주 프로세스로 구성된 총 네 개의 프로세스가 병행적(concurrently)으로 실행되는 프로그램이다. 네 개의 프로세스가 공유하는 전역 변수 x의 초기 값은 0이고, P1, P2, P3은 공유되지 않는 자신의 지역변수 y를 갖고 있다. P1, P2, P3은 주 프로세스에 의하여 동시에 실행이 시작된다. 선언문 혹은 할당문(assignment statement)은 모두 원자적(atomic)으로 실행된다고 가정한다.
global variable int x = 0;
process P1
local variable int y = 0;
y := x;
x := y + 1;
endprocess P1
process P2
local variable int y = 0;
y := x;
x := y + 2;
endprocess P2
process P3
local variable int y = 0;
y := x;
x := y + 4;
endprocess P3
main
start {P1, P2, P3}
endmain
세 개의 프로세스가 모두 종료된 후에 공유변수 x가 가질 수 없는 값은?
프로그래밍언어론
  1. ①0
  2. ②4
  3. ③6
  4. ④7

선지를 골라 바로 채점해 보세요.

정답 ①

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고