본문 바로가기
728x90

C#기초3

🧩 Thread 동기화 3종 세트: 크리티컬 섹션, 뮤텍스, 세마포어 안녕하세요 logro 입니다 :)오늘은 멀티쓰레딩 환경에서 공유 자원을 안전하게 다루는 3가지 도구,바로크리티컬 섹션(Critical Section),뮤텍스(Mutex),세마포어(Semaphore)에 대해 알아볼게요!😵 공유 자원, 왜 위험할까요?여러 쓰레드가 동시에 같은 변수를 바꾸려고 한다면…?데이터가 꼬인다잘못된 결과가 나온다버그가 잡기 힘들어진다 😱이걸 막기 위해 한 번에 하나의 쓰레드만 자원을 사용하도록 하는 게바로 동기화의 목적이에요!🔒 1. 크리티컬 섹션 (Critical Section)크리티컬 섹션은 공유 자원을 접근하는 코드 영역을 의미해요.lock (someObject){ // 이 안이 바로 크리티컬 섹션! sharedValue++;}이 블록은 하나의 쓰레드만 진입 가능.. 2025. 3. 28.
⏳ 느린 작업도 빠르게! C#의 Task, async/await 쉽게 이해하기 안녕하세요 logro 입니다 :)오늘은 C#에서 비동기 작업을 처리할 때 필수로 알아야 할 개념,Task와 async/await에 대해 알아보려 해요!😕 왜 비동기가 필요한가요?일단 이런 상황을 생각해볼게요."앱에서 서버에 데이터를 요청했는데, 응답이 오기 전까지 아무것도 안 돼요... 😩" 이런 걸 동기 처리라고 해요.반면에 비동기 처리는 응답을 기다리는 동안 다른 일을 먼저 할 수 있어요!💡 즉, 사용자 경험이 훨씬 부드러워지고, 시스템도 효율적으로 동작할 수 있죠!🧵 Thread vs Task 차이점?이전에 배운 Thread는 운영체제 수준에서 하드한 멀티태스킹이라면,Task는 .NET에서 제공하는 가벼운 작업 단위예요.Thread → 직접 관리 (무거움)Task → C#이 적절히 스케줄링 .. 2025. 3. 28.
🧵 멀티태스킹의 시작, Thread란? 안녕하세요 logro 입니다 :)오늘은 프로그램이 동시에 여러 작업을 처리할 수 있게 해주는 기술,바로 Thread에 대해 알아보려 해요!"어? 프로그램이 한 번에 여러 일을 해낼 수 있다고요?"네! 맞아요.바로 그걸 가능하게 해주는 게 Thread(쓰레드) 입니다 😎🧠 Thread가 뭐예요?간단히 말해서,Thread는 프로그램 안에서 독립적으로 실행되는 작업의 흐름이에요.보통 우리가 코드를 실행하면, 한 줄 한 줄 위에서 아래로 차례대로 실행되죠.하지만 Thread를 사용하면 여러 작업을 동시에(!) 실행할 수 있어요.📌 예를 들어볼게요.여러분이 라디오를 들으면서 동시에 라면을 끓이는 상황을 생각해볼까요?라면 끓이기 → 메인 작업 (Main Thread)라디오 듣기 → 다른 작업 (Sub Thre.. 2025. 3. 28.
728x90