인프런 커뮤니티 질문&답변

강동훈님의 프로필 이미지

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part6: 웹 서버

Blazor와 WebApi 연동

DB를 수정하는 과정에서 Lock의 사용 유무

22.08.22 23:59 작성

·

270

0

현재 강의를 보며 DB를 실시간으로 수정하는 것을 확인했습니다. 궁금한 점은 DB를 수정하는 과정에서 별도의 Lock이 없이 코드를 작성했다는 점입니다. 멀티 쓰레드, 멀티 유저 상황에서 DB에 접근한다면 race condition이 발생할 수 있다고 생각이 듭니다.

현재 블레이저로 만든 툴은 맛보기 정도라서 그런 상황을 고려하지 않은 거고 추후 서버에서 DB의 정보를 수정할 때는 lock을 걸어서 관리할 예정인가요?

찾아봐도 await 자체가 그런 기능을 하지 않는 것 같아 질문 남겨봅니다.

답변 2

0

dyl님의 프로필 이미지

2023. 04. 11. 08:12

  1. RDBMS 제품군들은 lock 을 프로그래머가 별도로 걸어줘야 한다는 얘기일까요?

  2. mssql 도 락을 별도로 걸어줘야 하나요?

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2022. 08. 23. 00:10

RDBMS 제품들은 다 LOCK을 건다고 생각하시면 됩니다.
딱히 크래시는 나지 않겠지만
멀티쓰레드 환경에서 동시에 실행할 경우
어떤 SQL QUERY가 먼저 실행될지는 운빨겜이 되겠죠.
그렇기 때문에 컨텐츠 단에서 큐를 만들어서 일감을 관리해줄 필요가 생깁니다.

강동훈님의 프로필 이미지
강동훈
질문자

2022. 08. 23. 07:29

늦은 시간 답변 감사합니다.