강의

멘토링

로드맵

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

조재용님의 프로필 이미지
조재용

작성한 질문수

Basic SystemVerilog Testbench ( 회로설계 검증 )

'fork-join_none'으로 시작된 백그라운드 스레드의 종료는 어떻게 관리되나요?

작성

·

20

0

Q. 'fork-join_none'으로 시작된 백그라운드 스레드의 종료는 어떻게 관리되나요?

  1. 부모 스레드가 자식의 완료를 기다리지 않는다면, 자식 스레드가 완료된 후 발생하는 '좀비(Zombie)' 상태자원 누수(Resource Leakage) 문제는 어떻게 방지되거나 처리되나요?

답변 1

0

MetaEncore님의 프로필 이미지
MetaEncore
지식공유자

조재용님,

이 부분은 Simulator 들에서 관리가 되는 것으로 알고 있습니다.

SV LRM 정의로만 본다면,

자식 스레드가 완료된 이후 스레드의 종료 절차로 스레드가 완료되고, 스레드에서 사용되었던 class 들이나 메모리들이 모두 release 되어 재사용 되도록 정의가 되어 있습니다.

간혹, tool의 오류로 좀비가 생길 수는 있으나, 이러한 부분들도 simulation 종료와 함께 모든 thread 들이 종료되어야 하는 것으로 정의가 되어 있습니다.

답변이 되셨을까요?

MetaEncore님의 프로필 이미지
MetaEncore
지식공유자

조재용 님,

질문이 해결 되었다면 "해결" 버튼 부탁 드리겠습니다.

조재용님의 프로필 이미지
조재용

작성한 질문수

질문하기