• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

멀티쓰레드 질문입니다.(파이썬과의 차이)

22.10.02 23:37 작성 조회수 162

0

파이썬에서는 멀티쓰레드가 한개의 코어에서 쓰레드만 변경되가며 작업을 해서인지, lock을 안함으로 인한 문제가 발생한 적이 없던 것으로 기억합니다.

비슷한 문제를 만드려면 멀티프로세싱을 이용해서 코드를 작성했었는데....

C#에서는 멀티쓰레드를 활용하는데, 쓰레드가 독립적으로 실행되는 것이, 마치 각 쓰레드가 독립적인 코어에서 작동하는 듯한 느낌이 듭니다.

한개의 코어에서 쓰레드만 변경한다면 메모리를 순차적으로 가져다 쓸테니, lock에 대한 문제가 발생하기 않지 않나요???

답변 2

·

답변을 작성해보세요.

0

답변 감사합니다.

'한 번에 처리 되어야 하는 과정'은 언젠간 저에게 찾아올 것 같습니다.

여기에 제대로 한번 맞아 봐야, 제대로 이해가 될 것 같습니다.

0

한개의 코어에서 쓰레드만 변경한다면 메모리를 순차적으로 가져다 쓸테니, lock에 대한 문제가 발생하기 않지 않나요???

그렇지 않습니다. 물론 확률은 줄어들 수는 있겠지만,
한개의 코어만 사용한다 해서 멀티쓰레드 문제가 완전 해결되진 않고
운 나쁘게 '한 번에 처리 되어야 하는 과정'에서 컨텍스트 스위칭이 일어난다면
여전히 문제는 일어날 수 있습니다.