libevent와 같은 일반적인 ASIO 또는 이벤트 기반 프로그래밍 라이브러리에서 각 콜백에 대한 최종 기한을 설정하는 방법이 있습니까?이벤트 기반/이벤트 루프 기반 프로그램에서 각 콜백에 대한 최종 기한 설정
콜백 내에서 가능한 무한 루프가 걱정됩니다. 정상적으로이를 감지하고, 작업 대기열에서 오작동하는 콜백을 제거하고 대기열의 다른 작업을 계속 처리 할 수 있습니까?
외부 스레드를 통해이를 감지하고 이벤트 루프 스레드를 죽이고 다른 스레드를 만드는 방법을 생각할 수 있지만 일반적으로 사용되는 다른 방법이 있는지 확인하려고합니다. 나는 이것이 누군가가 어느 시점에서 직면하고 해결책을 통해 생각한 문제라고 생각한다.
해결하려는 문제가 무엇인지 잘 모르겠습니다. "콜백 내에서"란 무엇을 의미합니까? 콜백 함수가 결코 돌아 오지 않을 수도 있다는 것을 의미합니까? 그렇다면 아마 그것이 유용한 작업을하고 있기 때문입니다. 맞습니까? –
코멘트를 주셔서 감사합니다. 예 .. libevent의 event_base로 등록 된 이벤트 처리기 안에있는 블랙 박스의 라이브러리에서 함수를 호출하는 상황에 직면하고 있습니다. 반환하지 않습니다. 모든 확률에서 이것은 라이브러리 내부의 버그입니다. 복구 메커니즘을 찾고 있습니다. 이벤트 처리기 라이브러리가 처리하는 각 이벤트의 마감 기한을 설정할 수있는 방법을 제공하는 것이 당연하다고 생각했지만 실제로 구현할 수있는 방법을 생각할 수 없었습니다. – Swaroop
해결할 수 없습니다. 버그가 무엇인지 모르는 버그, 미안. 버그가있는 코드를 자체 프로세스로 분리해야합니다. –