그래서 iPhone 용 webservice 콘텐츠를 요청하고 검색하는이 응용 프로그램에서 작업하고 있습니다. 내가 처음 실행하는 문제는 다음과 같습니다. 처음 데이터를 요청할 때 네트워크가 느려서 응용 프로그램이 응답하지 않도록 독립 스레드로 생성됩니다. 즉,이 데이터가 다운로드되기 전에 사용자가 현재 페이지에서 벗어나면 예상치 못한 일이 발생할 수 있습니다.폭주하는 프로세스를 중단하는 방법
나는 비교적 간단한 하나의 문제 케이스를 좁히기 위해 관리 해왔다. 나는 중첩 테이블을 가지고 있기 때문에 사용자가 다운로드하는 데 시간이 조금 걸릴 수있는 "메시지"테이블에 들어가면 즉각적으로 다른 메시지 집합을 선택하여 보지 않으면 이전 메시지 집합이 여전히 대기열에 있기 때문에로드가 완료됩니다. 여기
내가 시도 것들 :1) 내가 작업을 취소했지만, 난 단지 시간의 대기열에 하나의 작업을 할 수 있기 때문에 때문에이 무의미하다, 즉시
2 트리거) 나는 데이터의 수신자가 동일하다는 것을 검증하려했으나 실제 테이블 객체가 두 개의 선택 사이에 있기 때문에 이것은 작동하지 않는다. 단지 다른 데이터 세트가 필요하다.
누구나이 까다로운 스레딩 문제를 해결하는 방법에 대한 일반적인 프로그래밍 제안이 있습니까?
iPhone 관련 참고 사항 : 사용자가 메시지 테이블을 빠져 나올 수 없도록 막을 수 있다면 데이터가 완료 될 때까지 기본적으로 해당보기에 잠겨 있기 때문에이 문제가 발생하지 않습니다. 로드.
감사합니다.
스레드에 대한 참조가 있습니까? 스레드에 대한 참조가있는 경우 스레드를 인터럽트 할 수 있습니다 ... 물론 스레드가 수행중인 작업을 완료 할 때까지 기다리는 것이 더 좋지만 워크 플로에 따라 다릅니다. – Kiril