최근에 WinRT에서 .Net을 대체하는 프레임 워크에서 50 밀리 초 이상 실행될 수있는 모든 함수가 비동기 적으로 구현된다는 것을 읽었습니다. 그래서 제 질문은 일반적인 원칙으로 적용하는 것이 맞습니까? 어쨌든 멀티 스레딩을 많이 필요로하는 프로젝트에서 작업한다고 가정하면 ...함수를 비동기 적으로 작성해야하는지 여부를 결정하는 방법
1
A
답변
0
범용 애플리케이션에서는 아니요.
귀하는 해당 진술에 대한 링크를 제공하지 않으므로 그래픽 사용자 인터페이스에만 적용된다고 가정합니다. 이 경우 장기 실행 기능으로 인해 응용 프로그램이 응답하지 않게되고 (GUI의 경우 50ms가 "장기 실행"으로 간주 될 수 있기 때문에) 이해할 수 있습니다.
다른 응용 프로그램에서는 응용 프로그램의 다른 함수와 관련하여 정렬되도록 함수의 결과를 조정해야합니다. 이 작업을 수행하는 데 필요한 노력과 이로 인한 유지 관리 비용은 사소하지 않습니다.
+0
작업 프레임 워크를 사용하면 비동기 함수를 쉽게 조정하여 문제가되는 모든 경우 (즉, 데이터 종속성이있는 경우) 다른 함수와 관련하여 정렬되도록 할 수 있습니다. - 비동기 함수가 완료 될 때까지 기다렸다가 결과를 읽을 필요가있는 경우 , 당신은 그것을 호출하고 반환 된 작업에 연속을 구독합니다. –
관련 문제
- 1. 데이터 바인딩 여부를 결정하는 방법?
- 2. stdin을 비동기 적으로 읽는 방법?
- 3. dll을 비동기 적으로 호출하기
- 4. 비동기 적으로 이벤트 발생
- 5. 비동기 적으로 SharePoint 프로필 이미지를로드하는 방법
- 6. JavaScript에서 비동기 함수를 차단하는 방법
- 7. 언어가 재귀 적으로 또는 재귀 적으로 열거 가능 여부를 결정하는 방법은 무엇입니까?
- 8. 비동기 적으로 인터넷에서 정보 수집
- 9. ASP.net에서 비동기 적으로 WCF 호출 사용하지만 비동기 적으로 작동하지 않습니다.
- 10. 메서드를 비동기 적으로 호출
- 11. 비동기 적으로 복사 됨
- 12. JavaScript로 비동기 적으로 이미지로드
- 13. 이미지를 비동기 적으로 반환
- 14. vb.net에서 비동기 적으로 webservice 호출
- 15. Xcode에서 결과를 비동기 적으로 반환하는 함수를 테스트하는 방법은 무엇입니까?
- 16. g_idle_add/g_timeout_add에 의해 실행되는 함수를 비동기 적으로 작동하게하려면 어떻게해야합니까?
- 17. HttpWebRequest (.NET)를 비동기 적으로 사용하는 방법?
- 18. 큰 이미지 NSURLConnection 비동기 적으로 업로드하는 방법?
- 19. log4j의 FileAppenders를 비동기 적으로 사용하는 방법?
- 20. 함수를 호출 한 클래스를 결정하는 방법
- 21. 실행 여부를 결정하는 것이 더 좋습니다.
- 22. 프로그래밍 방식으로 프로젝트를 다시 작성해야하는지 확인하는 방법
- 23. Ajax 함수를 재귀 적으로 호출하는 방법
- 24. WPF MessageBox.Show를 비동기 적으로 호출하십시오.
- 25. 이벤트 처리기가 비동기 적으로 처리됩니까?
- 26. Tee a Pipe 비동기 적으로
- 27. WebRequest.BeginGetResponse가 비동기 적으로 작동하지 않습니다.
- 28. 클릭 이벤트가 비동기 적으로 발생합니다
- 29. 코코아 스트림에서 비동기 적으로 쓰기
- 30. 왜 ReadDirectoryChangesW를 비동기 적으로 사용합니까?
일반적으로 그렇습니다. UI 스레드를 차단하는 비동기 코드에서 너무 많은 시간을 소비하면 런타임에서 프로그램을 중단합니다. 마감 시간은 15 초입니다. –