파일을 검색하고 일치하는 파일 이름을 DataGridView에 추가하는 백그라운드 스레드를 만드는 Windows Forms 응용 프로그램이 있습니다. 백그라운드 스레드는 BeginInvoke를 사용하여 DataGridView에 행을 추가하고 백그라운드 스레드가 수천 개의 결과를 반환하지 않으면 모든 것이 올바르게 작동합니다. UI가 DataGridView에 수천 개의 행을 시도하지 않는 한 백그라운드 스레드가 수천 개의 파일을 처리하더라도 완벽하게 작동합니다.수천 개의 행을 추가하는 동안 응용 프로그램이 응답하지 않는다
하나씩 행을 추가하고 버퍼링하고 한 번에 100 개의 행을 추가하려고했습니다. 그러나 애플리케이션 UI는 항상 응답하지 않습니다. 백그라운드 프로세스는 UI 스레드보다 빠르게 작동하며 항상 DataGridView에 추가 할 새 행이 있습니다.
(UI 스레드에서) Application.DoEvents를 시도 했는데도 도움이되지 않았습니다.
아이디어가 있으십니까? 백그라운드 스레드에 지연을 추가하지 않고도 문제를 해결할 수 있습니까? 사전
BGW에서 결과를 표시하는 데 UI가 표시하는 속도보다 빠른 속도가 무엇입니까? 아니면 사용자가 읽을 수 있습니까? 당신은 이익없이 기억을 낭비하고 있습니다. –