C# Monitor를 사용할 때 try~finally를 쓰는 이유?
글쓴이: won983212 / 작성시간: 수, 2016/07/27 - 1:38오전
C# 2주차 초보입니다.
static void run(object param)
{
Program pg = (Program)param;
Monitor.Enter(pg);
try
{
pg.number++;
}
finally
{
Monitor.Exit(pg);
}
}
위의 코드에서 왜 굳이 try~finally로 Monitor.Exit(pg)를 묶은 건가요?
static void run(object param)
{
Program pg = (Program)param;
Monitor.Enter(pg);
pg.number++;
Monitor.Exit(pg);
}
이렇게 작성하면 뭔가 문제가 생기나요?
나름대로 생각해본 이유는 오류가 발생하면 런타임 오류가 뜨면서 Exit이 안될 때를 방지해서 finally안에 넣은거 같은데..
catch블록이 없어도 오류가 잡혀서 결국은 finally가 실행되나요?
Forums:
C# Monitor 로 검색해보세요.
ㅇ_ㅇ;; 구글. 네이버에서 원하시는 내용이 보이는거 같습니다.
C# try finally 로도 검색해보시구요.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
아, 그렇네요
죄송합니다. 자료를 깊게 찾아보지 않고 질문부터 올렸네요;
댓글 달기