스레드에 ListView 채우기 코드를 넣어야합니다. 간단한 경우이 스레드는 두 번 실행하면 안됩니다. 이전에 중단해야 할 새로운 스레드를 발행하고 싶을 때, 그랬던 것처럼.C#에서 ListView를 안전하게 채우는 방법은 무엇입니까?
EDIT 1
시나리오는 다음과 같다.
ListView 위에 텍스트 필터가 있습니다. textchange에서 populateList() 메서드를 호출합니다.
큰 데이터베이스에서 SQL LIKE
구문을 사용하므로 코드가 오래 걸릴 수 있습니다.
이 작업이 실행될 때까지 사용자는 아무 것도 입력 할 수 없습니다. 따라서 "abc"를 입력하는 동안 끊어짐이 끊어지면 10 초 후에 "c"를 입력하십시오.
그래서 Thread에서 populateList() 메소드를 실행하고 사용자가 더 빠르게 뭔가를 입력 할 수있게했습니다. 텍스트가 길수록 SQL 쿼리가 느려집니다. "abc"상황에서 "a"를 입력하면 쿼리가 실행되지만 사용자가 "b"를 누르면 "a"스레드의 실행을 중지하고 새 스레드를 발행하려고합니다 "ab"를 사용하는 등 ... "c".
편집
이 아직도 더 해답을 찾고.
질문에 대한 나의 편집보기 – Pentium10
나는 이것을 시도 할 것이지만, 모으기 과정이 끝난 후에 만 이벤트 솔기가 발사되기 때문에 루프의 변화를 감지 할 수 있을지 모르겠다. 제가 확인하겠습니다. – Pentium10
안녕 펜티엄, 그냥 해봤 어. 그것은 작동합니다. 너에게도 효과가 있는지 알려주지. 내 의사 코드 수정 확인 – Amsakanna