|
답변 주셔서 감사드리고요..
아직 LockList가 헷갈리는것이...ㅡ.ㅡ
1. 아래 같은 식으로 동기화할때 쓰는 건가요? 하나의 소켓으로 동시에 Write하지 못하게 말입니다..
// 루틴1
LockList();
Context->Connection->IOHandler->Write(Value1);
UnlockList();
// 루틴2
LockList();
Context->Connection->IOHandler->Write(Value2);
UnlockList();
2. 또, 아래처럼 Write, Read가 동시에 이루어질 수도 있나요?
// Write
LockList();
Context->Connection->IOHandler->Write(Value1);
UnlockList();
// Read
Context->Connection->IOHandler->Read(Value2);
3. 마지막으로 이런 경우에는 Lock걸 필요가 없는건지요?
// 채널1
for(i = 0; i < 10; i ++)
Context[i]->Connection->IOHandler->Write(Value1);
// 채널2
for(i = 10; i < 20; i++)
Context[i]->Connection->IOHandler->Write(Value2);
초보대왕 님이 쓰신 글 :
: DoyongID 님이 쓰신 글 :
: : 그럼 LockList를 CriticalSection으로 바꿔도 똑같은 결과가 나오는 건가요?
:
: 아뇨. LockList 함수는 List 에다 Lock 을 걸어주는데
: CriticalSection 을 쓴다고 해서 List 에 Lock 이 걸리지는 않죠.
|