고급
복잡한 레거시 코드 리팩토링 및 동시성 문제 해결
경합 조건(Race Condition)이 발생하기 쉬운 오래된 다중 스레드 코드베이스를 분석하고, 이를 안전하고 효율적인 비동기 아키텍처로 리팩토링하는 전략을 수립합니다.
📝 프롬프트 내용
다음은 10년 된 금융 거래 처리 시스템의 핵심 모듈 의사 코드(Pseudocode)입니다. 공유 자원에 대한 잠금(Lock) 메커니즘이 불충분하여 데이터 무결성이 훼손되고 있습니다. 1) 현재 코드의 잠재적 데드락(Deadlock) 및 경합 조건을 식별하고, 2) 무잠금(Lock-free) 데이터 구조 또는 액터 모델(Actor Model)을 적용하여 이를 재설계하십시오. 3) 리팩토링 후 성능 변화와 트랜잭션의 원자성을 보장하는 방안을 설명하십시오.