전체 글 229

[프로그래밍] Thread Pool

Thread Pool Thread를 미리 만들어 놓은 공간입니다. Thread Pool의 크기는 작업 실행을 위해 미리 생성한 스레드 수입니다. 위키에 의하면 "컴퓨터 프로그램에서 동시실행을 위한 소프트웨어 디자인패턴" 이라고 설명 돼 있습니다. 필요성 Thread가 생성될 때 운영체제(OS)가 요청을 받아들여 메모리공간을 확보해주고, 그 메모리를 스레드에게 할당해준다. Thread는 동일한 메모리영역에서 생성되고 관리되지만, 생성/수거에 드는 비용을 무시할 수 없다. 생성/수거 비용 절약을 위해 Thread를 미리 생성해두는 것 입니다. 동작 원리 프로그램(Application)에서 사용자의 요청(Task)를 작업큐(Queue)에 넣습니다. Thread Pool은 작업큐에 들어온 요청을 미리 생성해놓은..

프로그래밍 2021.06.06

[프로그래밍] 동기 처리, 비동기 처리, 병렬 처리

동기 처리, 비동기 처리, 병렬 처리 한개 프로세스 안에서 동시에 여러 개의 일을 하려면 다중 쓰레드(Thread)가 필요합니다. 동시에 여러 개의 일을 한다는 측면에서 비동기와 병렬처리는 맥락을 같이합니다. 동기 처리 : 책을 읽듯이 순차적으로 처리하는 것 입니다. User의 입력이 필요한 경우, User 입력을 받기 전까지는 다음 줄로 넘어가 실행할 수 없는 상태로 컴퓨터는 멈춰있을것이다. 비동기 처리 : 실행되는 타이밍을 다 맞추는 것이 아니라 User 입력을 받는 부분은 별도로 처리한다. 병렬처리 : 병렬 처리란 여러 개의 프로세서를 통해 하나의 프로그램을 처리하는 것을 말합니다. 처리 부하를 분담하여 처리 속도의 향상시킵니다. 참조 https://docs.microsoft.com/ko-kr/do..

프로그래밍 2021.04.18