• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    미해결

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

19.06.11 01:01 작성 조회수 110

0

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

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

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

답변 3

·

답변을 작성해보세요.

0

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

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

0

유영재님의 프로필

유영재

질문자

2019.06.13

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

0

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