프로세스와 쓰레드의 개념에 대해 간략하게 정리해본다
프로세스는 운영체제로부터 할당된 작업 단위를 의미한다.
쉽게 얘기하자면 실행중인 프로그램을 의미한다.
프로그램은 운영체제에 존재하다가 사용자 호출로 인해 메모리상에 적재되었을 때 프로세스라고 칭해진다.
쓰레드는 프로세스 작업 실행 단위를 의미한다.
쓰레드는 싱글쓰레드와 멀티쓰레드가 존재한다.
싱글쓰레드는 쓰레드를 하나만 사용하는 직렬 방법을 의미하고
멀티쓰레드는 쓰레드 여러개를 동시에 사용하는 병렬 방법을 의미한다.
동시성 문제 : 하나의 작업(Task)를 여러 쓰레드가 점유하려 할 때 동시성 문제가 발생.
교착 문제(Dead Lock) : A와 B가 서로의 자원을 동시에 점유하려할 때 자원을 영원히 점유하지 못하는 상태가 발생하는 경우 교착 상태라고 표현한다.