문제

1 분 정도마다 실행하려면 배경 프로세스가 필요합니다. 이 프로세스가 나머지 앱의 응답 성을 방해하는 것을 원하지 않습니다. 이것이 스레드에 대한 좋은 후보입니까? 그렇다면 스레드를 설정하는 방법, 특히 어떤 클래스/메소드를 살펴 보는 것이 좋습니다.

도움이 되었습니까?

해결책

배경 프로세스가 얼마나 밀접하게 묶여 있는지에 따라 다릅니다. 백그라운드에서 실행되는 별도의 프로그램을 만드는 것이 더 나은 아이디어 일 수 있습니다.

시작하려면 Apple의 스레드 가이드.

멀티 스레드 프로그래밍은 희미한 마음을위한 것이 아니므로 아이디어와 경고를 이해하고 다른 솔루션을 먼저 시도해보십시오. 이 "배경 프로세스"가 크지 않다면 주 스레드에 타이머를 사용하는 것만으로 도망 칠 수 있습니다. 앱의 내부와 밀접한 관련이 없다면 "작업자"프로그램이 좋은 아이디어 일 수 있습니다.

다른 팁

그것은 꽤 좋은 후보처럼 들립니다 NSOperation 그리고 NSOperationQueue - 작업 장치를 작업으로 포장하고 필요할 때마다 해고하십시오. "매 순간 정도"를하기 위해 NSTimer 놀랍지 않은 옵션입니다.

실제로 배경 프로세스가 수행하는 작업, 자원에 액세스가 필요한 등에 달려 있습니다. Somemethod에 전화를 원한다면 매 순간 Nstimer를 사용하십시오. NSOperationQueue와 같은 것이 필요한 경우 현재 구현에서 일부 버그를 다루는이 대체품을 조사하는 것이 좋습니다.

http://www.mikeash.com/?page=pyblog/raoperationqueue-an-open-source-replacement-for-nsoperationqueue.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top