사용자는 반복적으로 정보를 얻기 위해 대형 데이터베이스를 쿼리해야합니다. 이것은 비동기 적으로 수행됩니다. 한 번에 하나의 쿼리 만 실행됩니다..Net, 긴 비동기 작업
나는이 여러 초 동안 스레드 풀 스레드를 묶어 것 같이 내가 ThreadPool.QueueUserWorkItem을 사용하지 않은 등의 코드가 덜 maintable 덜 깨끗한 것입니다 각 쿼리에 대한 새 스레드,
를 만들고, 나는하지 않았다 모든 사용자가 사용하지 않기 때문에, ThreadPool.SetMinThreads을 통해 최소 ThreadPool 스레드를 증가시키지 마십시오.
난 그냥 항목을 처리 내 자신의 단일 스레드 "ThreadPool"을 작성 하여이 문제를 해결했습니다. 새로운 스레드가 생성되지 않았으며, ThreadPool 스레드가 점유되지 않았습니다.
나는 ThreadPool을 피해야할까요? 다른 접근 방식을 취해야합니까?
편집 : 나는, 3.5, 2010 년
정확히 'async' /'await'가 무엇을위한 것입니까? 너 탐험 해봤 니? –
예. 나는 .net 3.5와 Visual Studio 2010으로 제한되어 있습니다. 3.5에서 Async/await을 사용할 수 있습니까? 몇 주 전에 async/awat를 사용할 수 있도록 패키지를 다운로드하려고 시도했지만 성공하지 못했습니다. –
지금 가지고있는 코드를 보여줄 수 있습니까? 당신을위한 예제를 쉽게 만들 수 있습니다. –