본문 바로가기

thread2

[OS]멀티 프로세스와 멀티 스레드의 차이는 무엇일까? 멀티 프로세스와 멀티 스레드는 둘 다 시스템의 컴퓨팅 성능을 높이는 데 사용되는 처리방식의 일종이에요. 혼용되는 키워드 실행단위 cpu core에서 실행하는 하나의 단위로 프로세스와 스레드를 포괄하는 개념이에요. 실행단위는 프로세스 일수도, 스레드일 수도 있어요. 프로세스 하나의 스레드만 가지고 있는 단일 스레드 프로세스에요. 동시성 한순간에 여러 가지 일이 아니라, 짧은 전환으로 여러 가지 일을 동시에 처리하는 것처럼 보이는 것이에요. 먼저 프로세스와 스레드에 대해 알아보도록 하죠. 프로세스 프로세스는 코드로 작성된 프로그램이 메모리에 적재되어 사용할 수 있는 상태가 된 것이에요. 프로그램 자체는 생명이 없어요. 프로그램은 보조 기억장치에 존재하며, 실행되기를 기다리는 명령어(코드)와 정적인 데이터의 .. 2021. 8. 20.
[Spring] 쓰레드 관점에서 본 Spring MVC HTTP 요청과정 우선 스프링 MVC의 요청과정을 큰 그림으로 보기로 해요. 큰 흐름으로, 클라이언트가 HTTP 요청을 보내면, WAS는 TCP/IP 연결 대기 과정(welcome 소켓)에서 클라이언트를 위한 소캣(연결 소켓)을 생성해서 연결해요. 연결 이후 많은 과정이 일어나요. (다음 과정으로 간다는 것은, 반환되지 않았다는 얘기에요) WAS는 HTTP 메시지를 파싱해서, Web Server에서만 필요한 정보면, 정적 페이지를 반환해요. Request, Response 객체를 만들어 Filter 객체에 던져줘요. Filter에서 요청된 내용을 변경(인코딩 변환 처리)하거나, 여러가지 체크(XSS 방어)를 해요. 여기서 체크에 걸린다면, 예외를 반환해요. WAS에서 HttpServletRequest, HttpServle.. 2021. 6. 7.