Java Multithreading1 [Udemy: Java Multithreading, Concurrency & Performance Optimization] Motivation 멀티스레딩을 사용하는 이유 동시성을 구현하여 반응성을 높인다. Single core 상황이라고 가정해 보자. 프로세스의 수행 과정은 크게 연산과 입출력으로 분리할 수 있다. 입출력은 core를 점유하지 않는다. 현대적인 컴퓨터는 대부분 IO를 담당하는 별도 장치가 있다. 사용자의 입출력은 컴퓨터 입장에서 매우 block이 심한 작업이다. 예를 들어, 키보드 입력이라고 하자. 사용자는 0.1초에 한 번씩 키보드 입력을 한다고 해도 컴퓨터 clock속도에 비해 매우 매우 느린 속도다. 근데, 일반적인 프로그램은 이걸 기다린 후 처리해야 한다.(반응형 프로그램) 많약 동시성이라는 개념이 없다면? Single core에서 하나의 프로세스가 끝날 때까지 다른 프로그램이 대기 상태가 된다. 근데, core를 점유하.. 2021. 11. 25. 이전 1 다음