동기화객체

    동기화객체 성능테스트

    동기화객체 성능테스트

    동기화객체 성능테스트 멀티스레드와 동기화 객체 멀티스레드 프로그래밍은 하나의 기능을 여러 스레드가 동일하게 실행하는 호모지니어스 방식과, 업무를 다르게 각자의 스레드로 분배하는 헤테로지니어스 방식으로 구분됩니다. 예를 들어, 게임 서버에서 길찾기 기능을 하나의 스레드로 분리하고, 네트워크 IO를 하나의 스레드로 분리한다면, 이는 헤테로지니어스 방식의 멀티스레드 설계입니다. 하지만, IOCP의 워커 스레드와 마찬가지로 하나의 동일한 로직을 수행하는 스레드가 여럿 있다면, 이는 호모지니어스 방식의 멀티스레드입니다. 이러한 멀티스레드 프로그래밍에서는 주의해야 할 점들이 생깁니다. 동기화 문제입니다. 가장 단순한 연산인 증감 연산마저도 CPU atomic하지 않기에, 수행 도중 context switching이..