seegongsik
내 단어장
운영체제

같은 걸 동시에 고치면

둘이 같은 순간 같은 걸 고치면 결과가 틀어질 수 있어요. 한 명씩이 답이에요.

01

둘이 같은 칸을 고치면

벽에 숫자가 적힌 노트가 한 장 붙어 있어요. 지금 10이에요. 두 사람이 각자 여기에 1을 더하려고 해요.
한 사람이 10을 보고, 머릿속으로 11을 만들고, 노트에 11을 적어요. 다른 사람도 똑같이 해요. 그런데 둘이 거의 같은 순간에 시작하면, 둘 다 처음의 10을 보고 둘 다 11을 적어요.
1을 두 번 더했으니 12가 돼야 하는데, 결과는 11이에요. 한 번이 사라졌어요. 같은 걸 같은 순간에 고치다 생긴 사고예요.

10AB읽기 10읽기 10111111쓰기 11쓰기 1112가 돼야 하는데 11한 번이 사라짐

둘이 동시에 같은 값을 고치면, 더한 것 중 하나가 사라진다

같은 걸 같은 순간에 고치면, 결과가 틀어질 수 있어요.

02

같은 동작, 다른 결과

똑같은 두 사람이 똑같이 1씩 더하는데, 타이밍만 다르게 해볼게요.
차례로 하면: 한 사람이 10을 보고 11을 쓰고 끝낸 다음, 다른 사람이 그 11을 보고 12를 써요. 결과 12, 맞아요.
겹쳐서 하면: 한 사람이 10을 읽고 아직 쓰기 전에, 다른 사람도 10을 읽어 버려요. 둘 다 11을 쓰고 결과는 11, 틀렸어요.
동작은 글자 그대로 똑같았어요. 오직 언제 끼어들었느냐, 타이밍 하나가 맞고 틀림을 갈랐어요.

차례로A 읽기10B 읽기11쓰기11쓰기1212맞음겹쳐서A 읽기10B 읽기1011틀림

같은 더하기라도 차례로면 맞고, 겹치면 틀린다

결과를 가른 건 동작이 아니라, 언제 끼어들었느냐는 타이밍이에요.

03

직접 겹쳐 봐요

두 일꾼이 같은 값에 각자 1을 더해요. 둘이 얼마나 겹쳐서 시작하는지 직접 조절해 봐요.
충분히 떨어뜨리면, 한 명이 다 끝낸 뒤 다른 명이 시작해서 결과가 맞아요. 가깝게 붙이면, 한 명이 쓰기 전에 다른 명이 읽어버려 한 번이 사라져요.
슬라이더를 움직이며 어느 지점부터 결과가 틀어지는지 봐요. 똑같은 두 동작인데, 겹치는 순간 결과가 무너져요.

읽기고치기쓰기A읽기고치기쓰기B
12결과 맞음
겹침20%
떨어뜨리면 12로 맞고, 겹치면 11로 틀어져요. 어느 지점부터 빨개지는지 직접 찾아봐요.

겹침 정도를 바꿔가며 언제부터 결과가 틀어지는지 봐요

둘을 떨어뜨리면 결과가 맞고, 겹칠수록 틀어질 위험이 커져요.

04

한 명씩 차례로 하면

그럼 어떻게 막을까요. 답은 단순해요. 같은 걸 고치는 동안엔 한 명만 손대게 하는 거예요.
한 사람이 읽고 고치고 쓰는 동안, 다른 사람은 기다려요. 그 한 묶음이 끝나야 다음 사람이 시작해요. 마치 한 칸짜리 화장실에 줄 서듯이요. 안에 사람이 있으면 문이 잠기고, 나와야 다음이 들어가요.
이렇게 하면 겹칠 일이 없으니 결과가 늘 맞아요. 대신 기다리는 시간이 생기죠. 안전을 위해 잠깐의 줄 서기를 받아들이는 거예요.

12A사용 중B대기한 명씩, 겹침 없음대신 기다림

같은 걸 고치는 동안엔 한 명만, 나머지는 줄 서서 기다린다

같은 걸 한 명씩 차례로 고치게 하면 겹침이 사라져 결과가 안전해져요.

05

한 장으로 정리해요

셋만 기억하면 돼요.
첫째, 같은 걸 같은 순간에 고치면 사고가 나요. 둘이 동시에 더하면 한 번이 사라지듯, 결과가 틀어질 수 있어요.
둘째, 동작이 아니라 타이밍이 문제예요. 똑같은 일도 차례로면 맞고, 겹치면 틀려요. 셋째, 한 명씩 차례로 하게 하면 안전해요. 같은 걸 고치는 동안엔 한 명만, 나머지는 줄 서서 기다리면 결과가 늘 맞아요.

하나
같은 걸 같은 순간에 고치면 사고. 둘이 동시에 더하면 한 번이 사라진다.
동작이 아니라 타이밍이 문제. 차례로면 맞고 겹치면 틀린다.
한 명씩 차례로면 안전. 한 명만 손대고 나머지는 줄 서면 결과가 늘 맞다.

동시+공유는 사고, 타이밍이 문제, 한 명씩이 안전

한 줄 정리같은 걸 동시에 고치면 결과가 틀어질 수 있고, 한 명씩 차례로 하게 하면 막을 수 있어요.
이 페이지가 도움 됐다면 후원하기
운영체제