동시성 문제를 해결하기 위한 개념을 학습하기 위해 싱글 스레드와 멀티 스레드 공부 내용을 기록한다.
프로세스를 하나의 스레드로만 작업하는 과정을 의미하며, Java의 경우 메인메서드를 실행하였을때 메인스레드를 생성한다.
별도의 스레드 요청 작업이 없다면 메인스레드라는 싱글스레드에 의해 작업을 진행하며, 싱글스레드인 메인스레드 종료 후에 jvm도 최종적으로 같이 종료된다.
Java에서는 main() 메서드를 실행하면서 메인 스레드를 자동 실행하는데, 필요에 따라 작업 스레드를 추가 요청하여 병렬로 처리할 수 있다.
메인스레드 안에서 다량의 멀티스레드를 만들어 작업효율을 늘릴 수 있다.
이렇게 생성한 다발적인 작업단위들을 멀티스레드라 한다.