① 멀티스레드 환경과 동기화 문제 1 멀티스레드 정의 → 멀티스레딩(Multithreading)은 하나의 프로그램에서 동시에 여러 작업을 처리하는 기술 → 마트에서 물건을 사고 나서 계산대 줄을 보면 사람들이 여러 계산대에 나눠서 줄이 분산되어 계산이 더 빨라지는 것을 생각하면 이해하기가 쉬움 2 동기화 문제(synchronization issue) 혹은 경쟁 상태(race condition) → 멀티스레드 환경에서 공유 자원에 여러 스레드가 동시에 접근하면서 문제가 발생 → 해결하기 위해서는 연산을 원자적으로 처리 1-1 코드 using System; using System.Threading; class Program { // 공유 자원 (모든 스레드가 접근) static int count = 0; static void Main() { // 1만 번씩 count를 증가시키는 두 스레드 Thread t1 = new Thread(Increment); Thread t2 = new Thr...