해결된 질문
작성
·
285
0
void ThreadManager::Join()
{
LockGuard guard(_lock);
for (thread& t : _threads)
{
if (t.joinable())
t.join();
}
_threads.clear();
}
for문 후에 _threads에 들어와서 실제로 join 되지 않고 clear되는 thread가 존재 할 가능성이 있어 보입니다. 그래서 Lock이 필요하다는 생각이 듭니다.
근데 강의 코드에서는 없이 사용하셔서 Lock이 없어도 괜찮은지 질문드립니다.
언제나 빠르고 친절한 답변 감사드립니다. 루키스님!
강의에서 사용된 코드는 위에 첨부된 걸로 원 질문 코드는 제가 필요해 보여서 LockGuard를 달아주었습니다.
근데 아무래도 원래 강의에서 락을 안 걸어주다보니 질문드렸습니다.