(C#) 닷넷 스레드 비동기 프로그래밍 (EAP)

닷넷에서는 비동기 프로그래밍 처리를 지원하는 방식이 여러가지 있습니다. 이를 닷넷에서는 ‘비동기 프로그래밍 패턴’이라고 정하고 있습니다. 비동기 프로그래밍 패턴은 세 가지의 패턴이 있습니다. IAsyncResult 형태의 콜백을 사용하는 APM 패턴(IAsyncResult 패턴) 링크 이벤트 기반의 EAP 패턴 링크 작업 기반의 TAP 패턴 이 방식은 .NET Framework 4에서 도입되었으며, 비동기 프로그래밍에 권장되는 방식 입니다. 링크

더보기

(C#) 닷넷 스레드 비동기 프로그래밍 (APM)

닷넷에서는 비동기 프로그래밍 처리를 지원하는 방식이 여러가지 있습니다. 이를 닷넷에서는 ‘비동기 프로그래밍 패턴’이라고 정하고 있습니다. 비동기 프로그래밍 패턴은 세 가지의 패턴이 있습니다. IAsyncResult 형태의 콜백을 사용하는 APM 패턴(IAsyncResult 패턴) 링크 이벤트 기반의 EAP 패턴 링크 작업 기반의 TAP 패턴 이 방식은 .NET Framework 4에서 도입되었으며, 비동기 프로그래밍에 권장되는 방식 입니다. 링크

더보기

(C#) ThreadLocal<T>와 AsyncLocal<T>의 차이점

멀티 스레드 환경에서 각 스레드별로 하나의 공통 데이터에 접근하여 처리 될때 스레드 마다 원자성을 보장하면서 데이터를 다뤄야 하는 상황이 발생할 수 있습니다. 이때 제공 되는것이 Thread Local Storage(TLS) 변수라는 것이 있습니다. 쉽게 말해 tls변수는 스레드별 고유한 데이터를 저장(?)할 수 있는 공간이라고 이해 하면 됩니다. 또한 이 tls변수는(이하 거론되는 ThreadLocal<T> AsyncLocal<T> 동일) 자체적으로 데이터 원자성이 보장되기에 lock없이 접근하여 사용이 가능합니다.

더보기

(ASP.NET Core) SignalR 클라이언트 인증 처리 및 인증 정보 기준 특정 클라이언트에게 전송 처리 (feat JWT인증)

지난 글에서 JWT인증 처리 방법에 대해 설명했었습니다. 이번 글은 지난 글 JWT인증을 사용해서 ASP.NET Core 에서 SignalR 호스팅시 인증된 클라이언트만 접속을 허용하고 인증된 클라이언트 특정에게 RPC메서드 통신을 하는 방법입니다.

더보기