2017-03-04 4 views
0

iOS 앱에 여러 스레드 (8 ~ 50 사이)가 있고 스레드를 시작하기 전에 qualityOfService을 설정하면 .userInitiated 스레드가 .background 스레드 전에 완료됩니다. 그러나 Thread.run()에 전화 한 후에 이러한 우선 순위를 변경해야합니다. qualityOfService 변경은 실행 후 호출에 영향을주지 않습니다. 아무도 그것에 대해 나를 도울 수 있습니까?신속한 변경 스레드 품질 스레드 우선 순위 실행 우선 순위/우선 순위

답변

1

해결하려는 문제에 대한 지식이 없으면 조언을드립니다.

GCD를 사용하는 것이 더 도움이되지 않을까요? GCD가 의도 된 이유는 무엇입니까? GCD는 쓰레드 라이프 사이클을 처리 할 것이므로 하나의 큐 또는 다른 큐에서 작업을 파견하는 것에 대해서만 걱정하면됩니다. 필요에 따라 dispatching 또는 OperationQueues를 사용할 수 있습니다.

+0

안녕하세요, 답변 해 주셔서 감사합니다. 건물지도를 보여주는 앱이 있습니다. 각 건물에는 여러 층이 있으며 각 층 데이터는 개별 xml 파일에 저장됩니다. 그래서 성능 이점을 위해 스레드를 통해 xml 파일을 구문 분석합니다. 첫 번째 층 xml은 처음에는 파싱되지만, 다른 층은 백그라운드에서 파싱해야하지만, 사용자가 다른 층을 선택하면 선택한 층을 분석하는 우선 순위가 가장 빠를 것입니다. GCD을 살펴 보겠습니다. 다른 아이디어가 있다면 위대한 것입니다. – peynir