Mutex vs Semaphore
Mutex와 Semaphore의 차이점과 각각의 특징에 대해 기록한다.
Mutex와 Semaphore의 차이점과 각각의 특징에 대해 기록한다.
프로그램은 컴퓨터상에서 세개의 level로 구분되어 실행되고 각 level은 해당 영역에서 스레드를 생성하고 관리한다. (유저 level에서 프로그램이 실행되고 OS level에서 커널을 통해 하드웨어 level에 접근한다.) 유저(User) level 커널(OS) level 하드웨어 level (CPU, 메모리, Device) ...
Schedule Recoverability concurrency control을 위해서는 schedule이 serializable해야 하고, recoverable해야 한다. schedule이 serializable하다는 것은 schedule 내의 트랜잭션들이 서로 독립적으로 실행되어 일관성 있는 상태로 실행된다는 것을 의미한다. sched...
Schedule 여러 트랜잭션이 동시에 실행될 때, 각 트랜잭션의 연산들이 실행되는 순서를 Schedule이라고 한다. 각 Schedule 내의 연산 순서는 바뀌지 않지만, Schedule 간의 연산 순서는 바뀔 수 있다. (한 트랜잭션 내에서 i/o연산이 실행되는 동안 다른 트랜잭션의 연산을 실행) Serial Schedule 각 ...
매번 새로운 Database Connection을 생성하는 것은 비용이 크고, 비효율적이다. 때문에 별도의 Connection Pool을 사용해 미리 생성해두고, 필요할 때 가져다 사용하는 방식을 사용한다. Database 설정 (MySQL) max_connections : 최대 동시 접속자 수 wait_timeout : connectio...
Immutable Object에 대해 정리한 글입니다.
Blocking, Non-Blocking, Syncronous, Asynchronous Programming 에 대해 정리
프로그램과 프로세스 관련 용어 정리
Cpplint cpplint을 사용하여 전체 소스 코드를 Google 스타일로 작성했는지 검사할 수 있습니다. Cpplint 설치 pip install cpplint # pip를 이용해서 설치할 경우 brew install cpplint # homebrew를 이용해서 설치할 경우 Cpplint를 이용해서 Goog...