Mutex로 deadlock을 걸리지 않게 하는 법을 배웠으니 왜 deadlock인 상황이 발생하고 왜 mutex를 걸어줘야하고 왜 thread를 이용해서 작업을 하는지 몸소 느껴보자 먼저 코드를 볼까? #include #include #include #include #include #include #include using namespace std; using namespace chrono; // 생산자 함수 //string을 담는 큐, 뮤텍스 객체, index(스레드 번호)를 매개변수로받음 void producer(queue* downloaded_pages, mutex* m, int index) { for (int i = 0; i < 5; i++) { // 웹사이트를 다운로드 하는데 걸리는 시간이라 ..