동시성(3)

책너두 5기 27일차 로버트 C. 마틴의 클린코드 p. 237~ p.244 내용정리 13.동시성 스레드 코드 테스트하기 지금까지 공부한 것은 스레드가 하나인 프로그램은 지금까지 한 말이 모두 옳다. 하지만 같은 코드와 같은 자원을 사용하는 스레드가 둘 이상으로 늘어나면 다르다. 권장사항: 문제를 노출하는 테스트 케이스를 작성하라. 프로그램 설정과 시스템 설정과 부하를 바꿔가며 자주 돌려라. 실패하면 원인을 추적하라. 스레드가 둘 이상일 때 지침은 다음과 같다. 말이 안 되는 실패는 잠정적인 스레드 문제로 취급하라. 다중 스레드를 고려하지 않은 순차 코드부터 제대로 돌게 만들자. 다중 스레드를 쓰는 코드 부분을 다양한 환경에 쉽게 끼워 넣을 수 있도록 스레드 코드를 구현하라. 다중 스레드를 쓰는 코드 부분을 상황에 맞춰 조정할 수 있게 작성하라. 프로세서 수보다 많은 스레드를 돌려보라. 다른 플랫폼에서 돌려보라. 코드에 보조 코드(instrument)를 넣어 돌려라. 강제로 실패를 일으키게 해보라. 말이 안되는 실패는 잠정적인 스레드 문제로 취급하라 다중 스레드 코드는 아주 드물게 한번씩 나타나서 실패를 재현하기 아주 어렵고 그로 인해 일회성 문제로 치부한다. 그렇게 되면 잘못된 코드위에 코드가 계속 쌓인다. ...

2023년 9월 6일 · 3 분 · 배준수