반응형
콜백 함수 Callback 함수
함수의 호출 실행 시점을 프로그래머가 아닌, 시스템에서 결정하는 함수를 콜백(CALLBACK) 함수라 부른다.
콜백은 다른 코드의 인수로서 넘겨주는 실행 가능한 코드를 말한다. 콜백이 넘겨받는 코드는 이 콜백을 필요에 따라 즉시, 혹은 나중에 실행할 수 있다.
일반적인 개발에서는 개발자가 필요한 시점에 특정 기능을 하는 함수를 호출하게 된다.
하지만 이런 함수의 호출을 시스템에 맞겨야하는 상황이 발생하기도 한다.
현실에서의 예
한 남자와 여자가 데이트를 하기로 했다.
남자는 준비시간이 10분이 걸리고, 여자는 1시간이 걸린다.
두 사람 모두 준비를 마쳐야 데이트를 간다고 했을때, 모두 준비되었는지 확인하는 법은 크게 두 가지가 있다.
1번
2번
1번과 2번 중 2번이 훨씬 더 효율적으로 보인다.
아마 1번 남자는 죽었을것이다.
프로그래밍에서도 마찬가지다.
프로그래밍에서의 예
위의 그림과 같이 신호(Signal)에 의한 쓰레드 동기화를 할 때 사용할 수 있다.
응용 프로그램은 데이터를 처리하기 위해 데이터가 들어오길 기다리다 라이브러리에서 콜백함수를 호출하면 대기 상태를 해제하고 다음 일을 할 수 있다.
반응형
'개발 > C#' 카테고리의 다른 글
[C# 폼 속성] 폼을 최상위로 올리기 / 창을 최상위로 올리기 (0) | 2018.12.15 |
---|---|
[C#] Delegate 사용 / 콜백 / 델리게이트 (0) | 2018.12.09 |