#Thread
2
Java EcoConcurrency
늘리면 터지고 줄이면 만석인 스레드 풀
검색이 10초 넘게 늘어지자 스레드 풀을 키웠다. 64개로 늘리자 컨테이너가 죽었고, 24개로 줄이자 검색이 세 건만 겹쳐도 작업이 거절됐다. 원인은 풀의 크기가 아니라, 결과를 기다리는 오케스트레이터와 그 결과를 만드는 크롤 작업이 한 풀을 나눠 쓰는 구조였다. 둘을 갈라 크롤 작업을 가상 스레드로 옮기고, 검색 경로의 분산 락까지 걷어 낸 하루의 기록이다. 원인을 적어 두고도 첫 커밋은 크기를 바꾸는 것이었던 이유까지 담았다.
FundamentalTILOperating System
Thread
스레드는 CPU이용의 기본 단위다. 스레드는 다음으로 구성된다 스레드ID 프로그램 카운터 레지스터 집합 스택 스레드는 같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션 그리고 열린 파일이나 시그널과 같은 운영체제 자원들을 공유한다. 어플리케이션은 멀티 코어를 사용하여 다수의 CPU집중 작업을 병렬로 처리할 수 있다 프로세스와 스레드가 하나인 시스템에서는 여러개의 동시 요청에 하나씩 처리할 수 밖에 없다. 서버가 요청을 받아들이는 하나의 프로세스로 동작하게 하면 해결되지만, 프로세스를 생성하는 작업은 매우 많은 시간과 자원을 소