우리는 데이터베이스 테이블에서 규칙적인 경합을 경험했으며,이 문제를 해결하기위한 다양한 옵션을 평가하고자합니다.안정적으로 데이터베이스 경합을 재현합니다.
이렇게하려면 반복 가능한 신뢰성을 가진 테이블 (모든 테이블)에서 경합을 테스트 사례에서 재현해야합니다.
내가 생각하는 접근 방식은 잠금의 의미를 바꾸고 (예 : java.util.concurrent.locks.ReentrantLock
) 테이블 작성을 시작할 때 잠금을 해제하여 쓰기가 시작될 때 모든 읽기가 수행되도록하는 것입니다.
따라서 하나의 작성자 스레드는 테이블에 삽입하기 직전까지 잠금을 보유한 다음 잠금을 해제 할 때 여러 판독기 스레드가 동일한 테이블에 대해 select 문을 실행하려고합니다.
이러한 접근 방식에 대한 생각이 있었는지 또는 100 % 안정성으로 db 테이블에서 경합을 재현 할 수있는 간단한 접근 방식이 있는지 궁금해하고 있었습니까?
감사
멋진 아이디어! 그것에게 탄을주는 .... –
는 매력 같이 작동한다 :-) –
굉장한. 그것을 듣고 기뻐. 답장을 보내 주셔서 감사합니다. –