일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Spring
- 알고리즘
- 자바
- 네트워크
- Heap
- Algorithm
- 운영체제
- IT
- Kafka
- react
- Galera Cluster
- 컴퓨터구조
- design pattern
- mongoDB
- Data Structure
- c언어
- MySQL
- 디자인 패턴
- MSA
- C
- OS
- JavaScript
- 파이썬
- spring webflux
- 자료구조
- 백준
- JPA
- redis
- Proxy
- Java
- Today
- Total
목록전체 글 (211)
시냅스

큐, Queue 큐(queue)는 컴퓨터 과학 분야에서 쓰이는 컴퓨터의 기본적인 자료 구조의 한가지로, 먼저 집어 넣은 데이터가 먼저 나오는 FIFO(First In First Out)구조로 저장하는 형식을 말한다. 영어 단어 queue는 표를 사러 일렬로 늘어선 사람들로 이루어진 줄을 말하기도 하며, 먼저 줄을 선 사람이 먼저 나갈 수 있는 상황을 연상하면 된다. 나중에 집어 넣은 데이터가 먼저 나오는 스택과는 반대되는 개념이다. 프린터의 출력 처리(I/O)나 윈도 시스템의 메시지 처리기, 프로세스 관리 (CPU Schduling) 등 데이터가 입력된 시간 순서대로 처리해야 할 필요가 있는 상황에 이용된다. 배열리스트로 구현하는 queue는 선형 큐와, 환형(원형) 큐로 나눌 수 있다. 선형 큐는 막대..

뮤텍스 락 Mutex Locks 고급 언어에서 개발한 도구 동기화를 위한 가장 간단한 도구 2개만 가능하다. acquire()을 통해 ciritical section에 진입 허가를 받는다. (원자적 연산) release()를 통해 허가를 반납한다. (원자적 연산) busy waiting -> 무한 루프를 돌면서 프로세스는 낭비된다. spin lock (= busy waiting) core가 여러개 일 때는 busy waiting(= spin lock)은 유용할 수 있다. core 위에서 돌아가고 있어 context switch를 줄여준다. 세마포어 Semaphores 정수 variable binary semaphore -> mutex lock 과 비슷하다. counting semaphore -> 제한 없..

프로세스 동기화 Process Synchronization Cooperation process 서로 영향을 주는 process thread를 공유하거나, shared memory massage passing 위의 경우 데이터 일관성에 유의해야 한다 => 실행 순서를 보장해야 한다. (Integrity of Data) producer - consumer problem while(true) { /* produce an item in next_produced */ while (count == BUFFER_SIZE) ; /* do nothing */ buffer[in] = next_produced; in = (in + 1) % BUFFER_SIZE; count++; } while(true) { while (co..