CS (6) 썸네일형 리스트형 Monitor(모니터) 개념과 자바 예제 Monitor개요오늘은 Monitor(모니터)에 대해 알아보고자 한다. Monitor(모니터)는 동기화를 위한 고수준 추상화 도구이다.앞서 살펴본 SpinLock, Mutex, Semaphore는 프로그래머가 직접 락(lock)과 해제(unlock)을 신경 써야 했지만, 스핀락(spinlock) 뮤텍스(mutex) 세마포(semaphore) 각각 특징과 차이개요동기화를 위한 여러 전략과 각각의 특징과 차이에 대해 알아보려고 한다.본격적으로 살펴보기 전에 알아두어야 할 개념이 있다.racecondition(경쟁조건)여러 프로세스/스레드가 동시에 같은 데kimmangtae.tistory.com 모니터는 이 과정을 자동으로 관리해준다. 쉽게 말하면, 락(lock) + 조건 변수(condi.. 스핀락(spinlock) 뮤텍스(mutex) 세마포(semaphore) 각각 특징과 차이 개요동기화를 위한 여러 전략과 각각의 특징과 차이에 대해 알아보려고 한다.본격적으로 살펴보기 전에 알아두어야 할 개념이 있다.racecondition(경쟁조건)여러 프로세스/스레드가 동시에 같은 데이터를 조작할 때 타이밍이나 접근 순서에 따라 결과가 달라질 수 있는 상황.synchronization(동기화)여러 프로세스/스레드를 동시에 실행해도 공유 데이터의 일관성을 유지하는 것critical section(임계 영역)공유 데이터의 일관성을 보장하기 위해 하나의 프로세스/스레드만 진입해서 실행 가능한 영역 이라 한다.이와 같이 하나만 접근 가능하도록 하는 것을 mutual exclusion이라고 한다. 이제 이러한 문제를 해결하기 위해 어떤 동기화 전략들이 있는지 살펴보자. 하나의 프로세스/스레드만 진입.. 스레드 풀(Thread Pool)의 개념과 사용방법 개요요청이 들어오면 서버는 이를 처리하기 위해 여러 가지 방식을 사용할 수 있다. 그중 하나가 Thread Per Request Model이다. 이 방식은 하나의 웹 요청이 들어올 때마다 하나의 독립적인 스레드를 생성하여 해당 요청을 처리한다. 처리가 끝난 스레드는 그대로 버려지고, 새로운 요청이 들어오면 다시 새로운 스레드가 만들어진다. Thread Per Request Model의 문제점겉보기에는 단순해 보이지만, 이 방식에는 치명적인 문제가 있다. 스레드 생성 비용요청마다 스레드를 새로 만드는 과정에서 시간이 소요된다. 따라서 요청 처리 시간이 불필요하게 늘어난다. 스레드 폭증요청이 스레드 처리 속도보다 빠르게 들어오면 스레드 수가 급격히 증가한다. 컨텍스트 스위칭 오버헤드스레드가 .. 스레드 (Thread)의 종류 서론스레드에 대해 강의를 통해 공부하다가 다양한 종류의 스레드가 있어 기억하기 위해 정리를 해보고자 한다. 하드웨어 스레드(Thread)CPU 하드웨어 차원에서 제공하는 실행 단위이며, 흔히 SMT(Simultaneous Multithreading), Intel의 Hyper-Threading 같은 기술을 통해 하나의 물리코어가 여러개의 실행 파이프라인(스레드)을 동시에 지원할수 있게 된다. 예) 4코어 CPU가 각 코어당 2개의 하드웨어 스레드를 지원하면, OS 입장에서는 8개의 실행 단위(논리 코어)로 보임. 하드웨어 스레드는 물리적으로 “가상의 코어처럼 보인다”라고 표현할 수 있지만, 성능은 물리 코어 2개와는 다르다. OS 스레드 (Software Thread)커널(kernel)OS 스레드를 이해하.. 프로세스와 쓰레드 개념 정리 프로세스와 쓰레드 개념 정리 – 운영체제 핵심 지식 백엔드 개발자라면 한 번쯤 면접에서 “프로세스와 쓰레드의 차이” 질문을 받아본 경험이 있을 것입니다.이 글에서는 프로세스와 쓰레드의 개념부터 메모리 구조, 운영체제 관점의 관리 방식까지 정리했습니다. 프로세스(Process)란? 프로세스의 정의프로세스: 실행 중인 프로그램 (동작하는 능동적 개체)프로그램: 실행되지 않는 정적, 수동적 개체PID(Process ID): 프로세스를 구분하기 위해 할당된 고유 운영체제로부터 자원 할당운영체제는 프로세스가 동작할 수 있도록 필요한 자원을 할당합니다.자원: CPU, 메모리, 입출력 장치, 파일 등동작: CPU가 프로세스 명령어를 실행 운영체제가 하는 작업프로세스 생성 및 종료 관리프로세스 실행을 위한 스케줄링.. Http vs Https 차이 - HTTP 란?- 하이퍼 텍스트 전송 프로토콜의 (Hypertext Transfer Protocol)의 약자이며, 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜 입니다. 웹서핑시 서버에서 사용자의 브라우저로 데이터를 전송해 주는 용도로 많이 사용하며 인터넷 초기의 모든 웹사이트에서 기본적으로 사용했던 프로토콜 입니다. - HTTPS 란?- 하이퍼 텍스트 전송 프로토콜의 (Hypertext Transfer Protocol Secure)의 약자이며, 일반 HTTP 프로토콜의 문제점은 서버에서 브라우저로 전송되는 정보가 암호화 되지않아 데이터가 쉽게 도난당할 수 있다는 점이 단점이 엇습니다. HTTPS 프로토콜은 SSL(보안 소켓 계층) 이란걸 사용함으로써 이문제를 해결했습니다 .. 이전 1 다음