Skip to content

다바이스 타임이 섞인 잠금 처리관련 질문입니다. #3

@ogmj

Description

@ogmj

안녕하세요.
배현직 대표님의 게임서버프로그래밍교과서를 보고 도움을 많이 받은 게임서버프로그래머입니다.
다바이스 타임이 섞인 잠금 처리를 할 때 궁금한 내용이 생겨서 질문을 드립니다.

class A
{
	int x;
	int y;
}
mutex list_mutex;
List<A> list;
void func()
{
	lock(list_mutex);
	A* p_a = list.GetFirst();
	WriteToDiskLog(p_a->x,p_a->y);	
	unlock(list_mutex);
}

의사 코드가 위와 같을때 아래와 같이 수정하는 것이 올바른 수정 방법인가요?

void func()
{
	lock(list_mutex);
	A* p_a = list.GetFirst();
	int x1 = p_a->x;
	int y1 = p_a->y;
	unlock(list_mutex);
	WriteToDiskLog(x1,y1);	
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions