Home
define_chan
Cancel

[멀티쓰레드] AutoResetEvent

Lock 구현 이론 Lock 구현 이론 앞 포스트에서 Lock 구현 방법에 대해 얘기를 해보았다. 대략 3가지 방법이 있었는데, 그냥 무작정 기다린다. 일단 다른 작업으로 돌아가 있다가 나중에 다시 와본다. Event call back 방식으로 누군가에게 다시 사용할 수 있는 상태가 되면 호출해 달라한다. 1번 방법은 SpinL...

[멀티쓰레드] Context Switching

Context Switching Context Switching이란 하나의 프로세스(또는 쓰레드)가 CPU를 사용 중인 상태에서 다른 프로세스(또는 쓰레드)가 CPU를 사용하도록 교체하는 작업을 말한다. 이 과정속에서 이전의 프로세스의 상태를 보관하고 새로운 프로세스의 상태를 적재하는 작업이 이루어진다. 보통 일반적으로 운영체제가 각 프로세스한테 ...

[멀티쓰레드] SpinLock

SpinLock SpinLock은 임계 구역(Critical Section)에 진입이 불가능할 때 진입이 가능할 때까지 루프를 돌면서 재시도하는 방식으로 구현된 락을 가르킨다. 화장실문에 비유하자면 누가 화장실에 들어가 문을 잠궜을 때 내가 들어갈 수 있을 때까지 문을 열려고 시도하는 것이다. SpinLock 구현 SpinLock을 구현하는 방...

[멀티쓰레드] Lock 구현 이론

Lock 구현 이론 Lock을 직접 구현해본다고 생각하고 Lock이 어떤 철학으로 어떤식으로 구현될 수 있을지 생각해보자. 일단 기본적으로 당연히 Lock의 역할을 하기 위해서는 Critical Section(임계 구역)에 두 프로세스가 동시에 진입하지 못하도록 해야할 것이다. 그 다음으로는 이미 다른 프로세스가 들어와 사용하고 있을 때 어떻게 ...

[멀티쓰레드] DeadLock

DeadLock DeadLock(데드락, 교착상태)이란 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태를 가리킨다. DeadLock 상황을 간단하게 만들어보자. 예를 들어 SessionManager와 User들을 관리하는 UserManager 두 클래스가 있다. 멀티쓰레드 환경...

[멀티쓰레드] Lock 기초

Critical Section 코드 상에서 Race Condition(경쟁 상태)이 발생할 수 있는 구역을 Critical Section(임계 구역)이라고 한다. Critical Section에서 발생할 수 있는 Race Condition 문제를 해결하기 위해서는 Interlocked 등의 Atomic Operation을 사용해 볼 수 도 있겠지만...

[Blazor] SPA구조, Router

SPA(Single Page Application) SPA(Single Page Application)는 서버로부터 완전한 새로운 페이지를 불러오지 않고 현재의 페이지를 동적으로 다시 작성함으로써 사용자와 소통하는 웹 애플리케이션을 말한다. SPA 이전의 전통적인 방식에서는 처음 웹홈페이지에 접속하면 서버에서는 그에 맞는 HTML 정보를 전달해...

[Blazor] Dependency Injection

Dependency Injection Dependency Injection 줄여서 DI라고 하기도 하고, 우리말로는 의존성 주입이라고 하기도 한다. Dependency Injection을 제대로 이해하려면 먼저 Dependency(의존성)에 대해 이해해야한다. Dependency (의존성) 그냥 “A가 B에게 의존한다.”라고 하면 크게 와닿지 ...

[OPIc] Self-introduction

Q. Let’s start the interview now. Tell me a little about yourself. Hello. My name is Euichan, and I am 24 years old. I am currently looking for a job. My major was software. I chose this major be...

[Blazor] Templated Component

Templated Component Blazor Templated Component는 하나 이상의 UI 템플릿을 매개 변수로 허용한 다음, 이 매개 변수를 구성 요소 렌더링 논리의 일부로 사용할 수 있는 구성 요소이다. 쉽게 말해 어떤 UI 구조를 템플릿화하여 재사용이 용이하도록 만드는 것을 말한다. 예를 들어 아래와 같은 페이지에서 테이블 형식...