프로세스, 스레드
프로세스, 스레드 프로세스(스레드) 는 cpu(core) 자원을 시분할해서 사용한다. -> 동시에 여러 프로그램이 동작하는 것 처럼 보인다. ■ 프로세스 연산 거리, OS 관리의 단위(스케줄링 대상). 프로세스 -> OS 가 VMS 를 할당함. VMS 는 code, stack, heap, data 영역으로 구성됨. 각 프로세스의 VMS...
프로세스, 스레드 프로세스(스레드) 는 cpu(core) 자원을 시분할해서 사용한다. -> 동시에 여러 프로그램이 동작하는 것 처럼 보인다. ■ 프로세스 연산 거리, OS 관리의 단위(스케줄링 대상). 프로세스 -> OS 가 VMS 를 할당함. VMS 는 code, stack, heap, data 영역으로 구성됨. 각 프로세스의 VMS...
child_process - spawn(), exec(), execFile() fork() in Node.js child_process 에는e xecFile(), spawn(), exec(), fork() 네 함수가 존재한다. 네 함수 모두 ChildProcess Object 를 리턴하고 ChildProcess Object 의 명세는 아래와 같다. ...
DB 의 트랜잭션 격리 수준 출처 : REAL MySQL 책 트랜잭션 격리 수준이란 여러 트랜잭션이 동시에 처리될 때 특정 트랜잭션이 다른 트랜잭션에서 변경하거나 조회하는 데이터를 볼 수 있게 허용할지 말지를 결정하는 것 입니다. 격리 수준은 READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIA...
IPC(Inter Process Communication) 1. 메모리를 활용한 방법 1-1. shared memory 할당된 공유 메모리의 크기는 고정됩니다. 다른 두 프로세스의 VMS 가 RAM 의 같은 물리적 위치를 공유합니다. 생성된 공유 메모리는 커널에 의해 관리됩니다. 공유 메모리 영역을 사용하는 모든 프로세스가 종료 되...
임계구역 해결 방법 출처1 : 임계구역 해결방법 결론은 하나 ‘Queue’! - 널널한 개발자 TV 출처2 : 동기화, 모니터 : Synchronization, Monitor [운영체제] 1. 임계구역은 어떤 경우에 발생하는가? ▲ 임계구역이 발생하는 경우 1-1 단일 연결 리스트로 주소록을 구현하고 전역 변수에 저장 했습니다. ...
템플릿 메소드(콜백) 패턴 (2) 2. 템플릿 메소드 패턴 적용 과정 2-1. 문제점 JDBC 를 활용한 DAO 를 작성하면 같은 함수가 매번 같은 순서로 호출되고 예외처리 코드가 중복됩니다. class UserDao { ... public void deleteAll() throws SQLException { Connection c...
템플릿 메소드(콜백) 패턴 (1) 1. 템플릿 메소드 패턴 정의 템플릿 메소드 패턴은 메소드에서 알고리즘의 골격을 정의합니다. 알고리즘의 일부는 서브클래스에서 구현해 특정 단계를 재정의 할 수 있습니다. 이런 특징으로 프레임워크 개발에 자주 쓰이는 패턴입니다. 1-1. 클래스 다이어그램 1-2. 코드 abstract class...
오프라인 동시성 패턴 (1) 1. 낙관적 오프라인 잠금 충돌이 감지되면 트랜잭션을 롤백해 동시 비즈니스 트랜잭션 간의 충돌을 방지한다. 1-1 비즈니스 트랜잭션은 여러 시스템 트랜잭션을 거쳐 실행되는 경우가 많습니다. 비즈니스 트랜잭션이 시스템 트랜잭션 범위를 벗어나면 데이터베이스의 도움만으로 레코드 데이터를 일관된 상태로 유지할 수 ...
스프링 요청 처리 과정 2 1. 핸들러 매핑 Dispatcher Servlet 은 요청을 받으면 어떤 핸들러(컨트롤러) 를 호출할 지 핸들러 매핑 전략을 통해 결정한다. 핸들러 매핑 전략은 DI 를 통해 확장할 수 있다. Dispatcher Servlet 은 핸들러 어댑터를 사용해 어떤 형식의 핸들러든 호출할 수 있다. 따라...
스프링 마인드맵