강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

젓인님의 프로필 이미지
젓인

작성한 질문수

리눅스 시스템 프로그래밍 - 이론과 실습

프로세스 개념, 프로세스 생성 - 라이브 프로그래밍

clone과 pthread의 반환 시기가 차이가 있나요?

작성

·

241

0

쓰레드 함수가 일정 시간이 지나고 종료가 된다면 부모 혹은 커널에게 메모리를 반환하잖아요?

clone과 pthread로 쓰레드를 만들어서 무한루프를 돌리지 않고 전역변수에 데이터를 넣는? 처리를 하는데 pthread는 종료가 된 직후 바로 메모리를 반환해서 다음 쓰레드에서 이를 읽지 못하고, clone도 똑같이 바로 반환을 하는데 다음 쓰레드가 그 정보를 읽었습니다.

즉 메모리 반환 시기가 서로 다른 것 같은데 혹시 맞는 사실인가요? 

답변 3

0

런잇(ProgCoach4U)님의 프로필 이미지
런잇(ProgCoach4U)
지식공유자

메일로 답변 보내드렸습니다!

가급적 강좌 관련 질문은 질문 게시판을 이용해주시길 부탁드립니다. :)

0

젓인님의 프로필 이미지
젓인
질문자

메일로 보내드리겠습니다 ! 

0

런잇(ProgCoach4U)님의 프로필 이미지
런잇(ProgCoach4U)
지식공유자

상황으로 짐작컨데, 전역변수를 읽는 쪽의 타이밍 이슈이지 않을까 싶습니다. 전역변수는 clone/pthread가 종료되어도 메모리 상에 남아있는 영역이기 때문에 메모리 반환 타이밍 문제로 업데이트가 되고 안되고 차이가 발생할 것 같지는 않네요. 해당 전역변수를 읽는 타이밍이 정확히 clone/pthread가 종료된 직후인지 확인 가능하실까요? 코드를 올려주셔도 좋구요.. :)

젓인님의 프로필 이미지
젓인

작성한 질문수

질문하기