deadlock 2

멀티스레드(Multi-threading)란?

멀티스레드(Multi-threading)는 하나의 프로세스 내에서 여러 개의 스레드를 실행하는 기술을 의미합니다. 스레드는 프로세스 내에서 실행되는 가장 작은 실행 단위로, 멀티스레드를 활용하면 하나의 프로그램이 동시에 여러 작업을 수행할 수 있습니다.1. 멀티스레드의 개념1.1 스레드(Thread)란?스레드는 운영체제에서 프로세스의 실행 단위를 의미하며, 하나의 프로세스는 여러 개의 스레드를 가질 수 있습니다. 모든 스레드는 같은 프로세스 내에서 메모리를 공유하며 독립적인 실행 흐름을 가집니다.1.2 멀티스레드의 동작 방식멀티스레드는 하나의 프로세스 내에서 여러 개의 작업을 동시에 수행하는 방식입니다. 운영체제는 스케줄러를 통해 CPU 시간을 각 스레드에 분배하며, 이를 통해 병렬 실행이 가능합니다.2..

CS 2025.03.11

데이터베이스(DB) Lock

데이터베이스에서 Lock은 동시성 제어의 핵심 메커니즘으로, 여러 트랜잭션이 동시에 데이터를 접근하거나 변경할 때 데이터 무결성을 보장하기 위해 사용됩니다.1. Lock의 개념Lock은 트랜잭션이 특정 데이터나 자원에 대해 접근할 때 다른 트랜잭션이 해당 데이터나 자원에 접근하지 못하도록 제한하는 메커니즘입니다. 이는 데이터의 무결성을 보장하고 교착 상태(Deadlock)나 경합 상태(Race Condition)를 방지하는 데 사용됩니다.Lock이 필요한 이유데이터 무결성 보장트랜잭션 간 충돌 방지동시성 문제 해결2. Lock의 종류Lock은 여러 기준에 따라 분류됩니다. 주요 분류는 다음과 같습니다:2.1. 잠금 수준에 따른 분류Row-Level Lock특정 행(Row)에만 잠금을 설정합니다.동시성을 ..

DataBase 2024.12.26