동시성이란?

<aside> 💡

여러 작업을 논리적으로 동시에 실행하는 것을 의미합니다. 하나의 자원을 여러 작업이 나누어 시분할로 실행되게 됩니다.

</aside>

병렬성이란?

<aside> 💡

동시성과 다르게 여러 작업을 물리적으로 동시에 실행하는 것을 의미합니다. 각 작업이 각각의 자원을 갖고 실행됩니다.

</aside>

프로세스 동기화에 대해 설명

<aside> 💡

여러 프로세스나 쓰레드가 공유 자원에 접근하거나 데이터를 조작할 때, 작업 간의 실행 순서를 조율하여 데이터 무결성과 시스템 일관성을 보장하는 기술을 의미합니다. 프로세스 간 상호작용이 필요하거나 경쟁 상태가 발생할 가능성이 있는 환경에서 사용됩니다.

</aside>

Critical Section에 대해 설명

<aside> 💡

프로세스나 쓰레드가 공유자원을 접근하거나 수정하는 코드 영역을 의미합니다.

</aside>

Race Condition에 대해 설명

<aside> 💡

여러 개의 프로세스가 공유 자원에 접근할 때, 접근 순서에 따라 결과가 달라지는 현상을 의미합니다.

</aside>

Race Condition을 해결할 수 있는 방법