2012-05-18 3 views
2

C# WinForms :비동기는 스레드보다 성능이 우수합니다.

주요 목표는 1GB 파일과 같이 거대한 파일을 읽고 쓸 수있는 가장 빠른 방법입니다. C#에서 StreamReader 및 Threads에 대해 알고 있지만 C#으로 비동기 파일 I/O에 관한 내용도 보았습니다. 그러나 아직 배웠습니다. 그래서 내 질문에 비동기의 접근 방식을 자연스럽게 정상적인 StreamReader 및 다중 스레드 접근보다 나은 성능을 제공합니까?

+1

1 GiB는 대단한가요? o.ô – Joey

+1

음 거대한 것은 친척입니다. :) – Umair

답변

1

비동기도 백그라운드 스레드를 생성하지만 장점은 사용자가 관리하지 않아도된다는 것입니다.

+0

그래 비동기는 성능이없고 배경 스레드와 같지만 여전히 그렇습니다. 우리가 그것을 관리하는 것에 대해 걱정할 필요가 없기 때문에 사용하기 쉽습니다. – Bohn

+0

성능상의 이점 (또는 그 부족)에 대해서는 확실하지 않지만, 실제로 비동기로 코드를 수행하는 실제 구현을 숨겨 스레드 관련 항목을 유지 관리 할 필요가 없습니다. 그러나 분명히 두 가지 절차를 테스트하고 눈에 띄는 차이가 있는지 확인하십시오 (나는 그다지 많지 않을 것이라고 생각합니다!). – Umair

3

비동기 변형을 사용하면 아마도 약간 가벼운 방법 일 것입니다. 시스템이 비동기 읽기/쓰기를 처리하기 때문에 사용자 코드에서 스레드를 작성하고 관리 할 필요가 없습니다.

의심 스럽다면 일반적인 조언이 적용됩니다. 조치! 두 개의 테스트 루틴을 작성하고 테스트 루틴이 얼마나 잘 수행되는지 테스트하십시오.

+0

먼저 Async가 도움이되는지 아닌지 알고 싶습니다. 비동기 사용법을 알지 못하기 때문에 학습에 시간을 할애해야합니다. 시간 가치가 있는지 알고 싶었습니다., – Bohn

관련 문제