async void 쓰면 나쁘겠나요
비동기 처리에 대기를 걸지 않으면 망하는 경우가 있어요.
와 8년전 영상이어요.
정말 하찮은 코드에 한정하여 사용하여도 괜찮을 것이어요. 무엇이 있으려나 ..
싱글톤에 써요. 음.. 왜 내가 생각하고 있나요. ai가 있어서 응답을 요구하면 이 정도는 다 나올 것이어요. 8년 전보다 많이 좋아졌쩌.
> async void를 사용하는 적절한 경우는 무엇이 있는지 나열 할 수 있을까
async void를 사용하는 적절한 경우는 다음과 같습니다:
1. 이벤트 핸들러: 이벤트 핸들러는 일반적으로 void를 반환하며, 이벤트가 발생할 때만 실행됩니다. 따라서 이벤트 핸들러에서 async void를 사용하는 것이 적합합니다.
2. 콘솔 애플리케이션의 Main 메서드: 콘솔 애플리케이션은 단일 스레드이며, Main 메서드는 void를 반환합니다. 따라서 Main 메서드에서 async void를 사용하는 것이 적합합니다.
3. 사용자 인터페이스: 사용자 인터페이스는 일반적으로 void를 반환하며, UI 스레드에서 실행되어야 합니다. 따라서 사용자 인터페이스에서 async void를 사용하는 것이 적합합니다.
그러나 async void를 사용하는 것은 권장되지 않습니다. async void를 사용하면 예외 처리가 어렵고, 코드의 흐름을 추적하기 어렵기 때문입니다. 따라서 가능한 한 async Task 또는 async Task<T>를 사용하는 것이 좋습니다.
Main 함수에 위에 처럼 사용하면 프로그램이 종료대빈다. 노드js는 setInterval 등록된 핸들러가 있으면 대기하지만 c#은 안그럴 것이어요. 분명 이런 내용을 설명하는 문서가 있었을 것인데 파인튜닝이 안되었거나 정보에 링크 상태가 나쁜 것 같스빈다.
만일 Main 함수에 사용하려고 한다면 Task.Delay(30000, abort).Wait()을 넣어주고 30초 안에 처리를 끝내도록 하여야 하겠쩌. 작업 취소에 대해서는 궁금하면 굳이 .. ai에 물어보면 대빈다.
