게시글
질문&답변
2024.03.03
어떻게 상호배제가 이루어지는지 잘 이해가 안갑니다
수정된 코드도 문제가 있습니다. 의심하신 상황이 발생 할 수 있습니다. Section7의 코드는 문제가 있고 Interlocked 클래스만 가지고 해결할 수 없습니다. writeCount와 readCount의 비교와 변경이 Atomic Operation이어야 하기 때문에 반드시 lock이 필요합니다. 혼란을 드려 죄송합니다. ㅠㅠ
- 1
- 2
- 145
질문&답변
2024.03.02
어떻게 상호배제가 이루어지는지 잘 이해가 안갑니다
죄송합니다. 코드가 완전히 잘못됐네요. 코드를 수정하여 github에 올렸습니다. Interlocked.CompareExchange 함수를 사용하여 하나의 쓰레드만 Write를 하도록 수정하였습니다.
- 1
- 2
- 145
질문&답변
2024.03.02
임계영역에 2개 이상의 스레드가 올 수 있는지요?
답변은 그럴수 없습니다. 임계영역에서는 반드시 한 스레드만 실행가능합니다. 코드를 보면 Wait에서 Blocking이 되기 때문에 DeadLock이라고 생각하실수도 있는데 Section4 코드에서 PulseAll과 Wait 함수 부분에 BreakPoint를 거시고 F10으로 한 스텝씩 확인해보시면 어떤 순서로 실행되는지 확인이 가능합니다. 확인해보시면 Monitor.Wait이 호출되면 lock이 해제되는걸 알수 있습니다.
- 0
- 2
- 140
질문&답변
2024.02.04
1_Process와 Thread protobuf 부분 질문
Protobuf는 *.Idl 파일을 작성하고 컴파일을 하면 원하는 언어의 모델들을 뽑아줍니다. 이렇게 나온 모델들을 서로 공유해야 합니다. 하지만 문서로 서로 공유할 때 보다 훨씬 문제가 줄어든다는 거지요
- 0
- 1
- 100
질문&답변
2024.01.31
opensea 민팅
해당 NFT 오픈씨 주소를 알려주시겠습니까?
- 0
- 2
- 159
질문&답변
2024.01.16
import "hardhat/console.sol"; 어디에 있나요?
만약에 Contract Compile 되신다면 경고는 무시하셔도 되는데 Compile이 안되시는 거라면 그 원인이 너무 많아서 알려드리기가 어렵습니다. 방금 소스코드 전체를 다운로드 다시받고 npx hardhat compile 명령어를 실행했을때 Compile에 문제가 없는건 확인했습니다.
- 0
- 2
- 139
질문&답변
2024.01.15
import "hardhat/console.sol"; 어디에 있나요?
hardhat/console.sol 파일은 우리가 추가해야 되는 파일은 아닙니다. hardhat 개발환경에서 import만 하시면 쓸 수 있습니다. 자세한 내용은 아래 링크 참조 바랍니다. https://hardhat.org/tutorial/debugging-with-hardhat-network
- 0
- 2
- 139
질문&답변
2024.01.04
혹시 학습한 내용을 블로그에 정리해도 될까요?
아닙니다. 무료 강좌인데 공유는 언제나 환영입니다. 출처만 인프런 링크로 걸어주심 감사하겠습니다.
- 1
- 1
- 238
질문&답변
2023.12.31
코틀린으로 해당 C# 예제를 비슷하게 만들어봤는데, 제가 잘못 작성한 걸까요?
너무 늦게 봤네요 스스로 깨우치시다니 멋지십니다.
- 1
- 4
- 284
질문&답변
2023.09.15
캐시 플러시 관련 궁굼한게 있어서 질문 드립니다!!
. 맞습니다. 일반적으로 스레드간의 컨텍스트 스위칭은 Cache Flush가 발생하지 않습니다. 말하고자 한 것은 Context Switching을 피하자라는 것이었는데 강의를 쉽게 만들기 위해 복잡한 부분은 제거 하였는데 이 부분을 감안하더라도 최악의 경우 Cache Flush가 발생한다라고 말했어야 했습니다. . 자세하게 설명드리지 않다보니 혼란을 겪으신거 같습니다. Cache에 쓰기를 할 때 쓴 데이타는 CPU의 Write Buffer에 남게 됩니다. 별도의 Buffer가 있기 때문에 Cache를 Flush해도 데이타가 유실되지 않습니다. Write-Back이냐 Write-Through냐는 CPU 아키텍처에 따라 다릅니다. 요즘 CPU는 이 두가지 보다 훨씬 복잡합니다. 다만 Write-Back에 가깝다라고 말 할 수 있을 거 같습니다. 보장할 수 있는 건 어떤 경우에도 Write한 Data는 Main Memory에 써진다는 겁니다. 이 그림을 보시면 더 이해가 잘 되실거 같습니다. (사진) . 답변이 되었나요?
- 1
- 2
- 433