목록c# (3)
개발자 블로그
동기 비동기, Thread, UI Thread, Timer, Task..등의 관계에 대해서 시리즈로 정리 해봄. 혼자 복습하는 차원에서 정리한거니 잘못된 내용 있으면 피드백 주시면 감사하겠습니다. 제일 먼저 알아야 할 개념 일거 같은게 동기(Synchronous)와 비동기(Asynchronous)의 차이는 주로 작업의 처리 방식과 그에 따른 프로그램의 흐름 제어에 있다. 동기 (Synchronous)동기 방식에서는 작업이 완료될 때까지 호출한 코드가 대기.작업이 끝날 때까지 프로그램 실행이 멈추고, 작업이 끝난 후 다음 코드로 진행.특징직렬 처리: 작업이 순차적으로 처리블로킹: 작업이 완료될 때까지 호출한 코드 멈춘다.단순성: 구현이 비교적 간단하며, 흐름을 파악하기 쉽다. 비동기 (Asynchron..
using System;using System.Threading;using System.Threading.Tasks;public class TaskExample{ private static CancellationTokenSource cts; public static async Task Main() { cts = new CancellationTokenSource(); var task = Task.Run(() => DoWork(cts.Token), cts.Token); // 5초 후 작업 중단 요청 await Task.Delay(5000); cts.Cancel(); await task; Console.Wr..

Thread safe 한 방법을 찾는 중 참조형 객체를 사용하여 동기화를 이루는 방법에 대해 보다가 참조형 객체에 대해 정리를 해봤다. 참조형 객체 : 참조(포인터)를 통해 접근하는 객체값 형식 (Value Types)값 형식은 데이터를 직접 저장하며, 스택(Stack)에 저장됩니다. 값 형식에는 다음과 같은 데이터 타입이 포함됩니다:기본 타입: int, float, double, bool 등구조체(struct)열거형(enum)값 형식 변수는 해당 변수를 할당하거나 전달할 때 실제 데이터를 복사합니다.참조 형식 (Reference Types)참조 형식은 실제 데이터의 참조를 저장하며, 힙(Heap)에 저장됩니다. 참조 형식에는 다음과 같은 데이터 타입이 포함됩니다:클래스(class)배열델리게이트인터페이스..