스레드는 프로세스 내에서 이루어지는 작업 흐름을 수행하는 단위입니다.
프로세스는 컴퓨터의 자원을 분할해서 사용하지만 스레드는 프로세스 내부에 존재하므로, 프로세스의 자원을 공유합니다.
모든 프로세스는 한 개 혹은 그 이상의 스레드를 가지고 있고, 두 개 이상의 스레드를 가지는 프로세스를 멀티 스레드(Multi Thread)라고 합니다.

프로세스는 동시적, 병렬적, 혹은 이 둘이 혼합된 방식으로 작동합니다.
싱글 코어(Core* CPU)인 경우 멀티 스레드를 통해 동시성(Concurrency)을 높일 수 있습니다.
빠르게 스레드 간에 문맥 교환(Context Switching)을 진행하면서, 동시에 실행되는 것처럼 보이게 하는 것을 동시성이라고 합니다.
멀티 코어인 경우 멀티 스레드를 통해 병렬성(Parallelism)을 높일 수 있습니다.
각각 동시에 작업을 수행하는 것을 병렬성이라고 합니다. (동시성과는 달리 실제로 작업이 진행)
자원 공유(Resource sharing)
프로세스는 IPC 기법 등을 사용해야만 자원을 공유할 수 있습니다. 그러나 스레드는 프로세스 내부 자원과 메모리를 공유합니다.
한 주소 영역 안에 여러 개의 스레드를 위치시킬 수 있으므로 메모리 공간과 시스템 자원 소모를 줄일 수 있습니다.
경제성(Economy)
스레드는 프로세스의 메모리를 공유하기 때문에 비교적 통신 비용이 적고 스레드 생성과 문맥 교환(Context Switching)에 상대적으로 더 적은 자원을 사용합니다. 일반적으로 스레드보다 프로세스를 만들고 관리하는 데 훨씬 더 많은 시간이 소요됩니다.
확장성(Scalability)
각각의 스레드가 다른 프로세서에서 병렬로 수행될 수 있으므로 멀티프로세서(다중 CPU)에서의 병렬성이 증가합니다.
싱글 코어일 때, 스레드를 많이 생성했을 경우 Context Switching이 많이 일어나 오히려 성능이 저하될 수 있습니다.
멀티 프로세스 프로세스는 서로 독립적으로 작동하기 때문에 하나의 프로세스에 문제가 생겨도 다른 프로세스에 영향이 가지 않지만, 멀티 스레드는 하나의 스레드에 문제가 생기면 전체 프로세스에 영향을 미칠 수 있습니다.
동기화(Synchronization)
스레드는 프로세스의 Cord, Data, Heap 영역을 공유하고 있습니다. 공유하는 자원에 동시에 접근했을 경우, 동기화가 원인이 되어 때때로 비정상적으로 동작할 수 있습니다.
멀티 스레딩의 가장 큰 단점.
여러 스레드가 동일한 자원(데이터)에 접근해서 수정할 때 해당 이슈가 발생합니다.
동기화 문제가 일어날 수 있음을 항상 예상하고 방지해야 하기 때문에 스레드 프로그램은 코드를 짜거나 디버깅에도 까다롭습니다.
한 스레드가 공유 변수를 갱신하는 동안, 다른 스레드가 동시 접근할 수 없도록 합니다.
상호 배제(Mutual exclusion)
세마포어(Semaphore)

두 개 이상의 작업이 서로 상대방의 작업이 끝나기만을 기다리고 있기 때문에, 다음 단계로 진행하지 못하는 상태.
프로세스, 스레드 둘 다 이와 같은 상태가 일어날 수 있습니다.
특정 프로세스의 우선순위가 낮아서 원하는 자원을 계속 할당 받지 못하는 상태를 기아 상태라고 합니다.
이를 에이징(Aging) 기법을 통해 해결하는데, 에이징 기법이란 시간이 지날수록 오래 대기한 프로세스의 우선 순위를 높이는 방식입니다.
Reference
① 잔재미 코딩의 컴퓨터 이론
② [얄팍한 코딩 사전] 프로세스는 뭐고 스레드는 뭔가요? https://www.youtube.com/watch?v=iks_Xb9DtTM
③ Benefits of Multithreading in Operating System https://www.geeksforgeeks.org/benefits-of-multithreading-in-operating-system/
④ 스레드(Thread) 개념, 사용이유, 프로세스와의 비교, 상태, 우선순위, 종류 https://beststar-1.tistory.com/6
⑤ 뮤텍스(Mutex)와 세마포어(Semaphore)의 차이 https://medium.com/@kwoncharles/뮤텍스-mutex-와-세마포어-semaphore-의-차이-de6078d3c453