버튼을 누를 때마다 증가하는 카운터가있는 스레드를 이해하기 위해 기본적인 작업을 수행하려고하며 버튼을 누를 때마다 동일한 카운터를 증가시키는 새로운 스레드가 시작됩니다. 그런 다음 실행중인 스레드를 중지하는 중지 단추가 있습니다. 얼마나 많은 스레드 또는 어떤 스레드가 실행 중인지 어떻게 알 수 있습니까? 여기에 내가 작업하고있는 기본 템플릿이 있습니다. 감사.아이폰에서 여러 스레드를 추적 유지
0
A
답변
0
기본적으로 실행중인 스레드 수를 추적하고 각 스레드에 고유 한 ID를 할당하려고합니다. 당신이 스레드를 중지 할 때 다음, 당신은 단지 threadsRunning
을 감소
static int threadIndex = 0;
static int threadsRunning = 0;
-(void)startThread {
NSNumber* threadId = [NSNumber numberWithInt:threadIndex++];
threadsRunning++;
[self performSelectorInBackground:@selector(myThread) withObject:threadId];
}
: startThread
이 버튼에 대한 이벤트 처리기라고 가정하면, 당신은 같은 것을 할 수도 있습니다.
myThread
메소드와 똑같은 일을하고있는 것 같습니다. 즉, 스레드를 전혀 멈추지 않는 것 같아서 코드를 보았습니다. 귀하의 stopTread
메소드에 혼동을 느낍니다.
0
명시 적으로 스레드를 만드는 것과는 다른 백그라운드에서 작업을 수행하고 있습니다 (예 : 스레드 풀의 스레드를 다시 사용할 수 있음).
당신이 정말 비효율적 스레딩 코드를 원하는 경우, 다음과 같이 사용할 수 있습니다
NSThread * thread = [[[NSThread alloc] initWithTarget:self selector:@selector(myThread) object:nil] autorelease];
[thread start];
while ([thread isExecuting])
{
NSLog(@"Still running");
[NSThread sleepForTimeInterval:0.1];
}
편집 : 당신은 실제로 아이폰 개발을 할 거라면, 나는 NSOperation/NSInvocationOperation 보는 것이 좋습니다/NSBlockOperation을 대신 사용하십시오. 스레드 관리는 옳은 진실한 고통입니다.
관련 문제
- 1. 아이폰에서 맞춤 터치 추적
- 2. 여러 스레드 시작 및 내 .NET 응용 프로그램에서 추적 유지
- 3. 아이폰에서 여러 스레드를 사용할 때 누수를 처리하는 방법?
- 4. 세션 변수의 언어 추적 유지
- 5. 여러 도메인에서 진단. 추적
- 6. 마스터 페이지에서 선택된 목록 항목을 추적 유지
- 7. 여러 서버에서 인증 유지
- 8. 앱이 아이폰에서 백그라운드 모드로 간다면 실행중인 스레드를 멈추는 방법은 무엇입니까?
- 9. 아이폰에서 응용 프로그램 종료 후 백그라운드 스레드를 실행하는 방법?
- 10. 여러 스레드를 실행하기위한 VB.NET 코드
- 11. 여러 플랫폼에서 여러 데이터베이스 유지 관리
- 12. 아이폰에서 PHP 서버로 여러 이미지를 업로드해야합니다
- 13. Jira : 여러 버전의 상태 추적
- 14. 여러 스레드에서 콜렉션을 유지 관리하기위한 모델
- 15. 여러 AppDomains : 콘솔 열기 유지
- 16. 여러 테이블에서 고유 ID 유지
- 17. 스레드를 여러 번 실행할 수 있습니까?
- 18. 같은 클래스에 여러 스레드를 만들려면 어떻게해야합니까?
- 19. Perl - 여러 컴퓨터에서 스레드를 실행할 수 있습니까?
- 20. 하나의 클래스에서 여러 스레드를 다루는 방법은 무엇입니까?
- 21. 시퀀스 다이어그램에서 여러 스레드를 설명하는 방법은 무엇입니까?
- 22. 여러 개의 스레드를 만들어 s3에 업로드
- 23. 이 상황에서 여러 스레드를 사용해야합니까? [Ruby]
- 24. WPF scrollviewer - 여러 스레드를 사용하여 액세스
- 25. 백그라운드 작업자 스레드를 여러 번 호출 하시겠습니까?
- 26. 동시에 여러 스레드를 파이썬에서 실행하고 있습니까?
- 27. Java EE에서 여러 스레드를 어떻게 시작합니까?
- 28. Java의 여러 스레드를 통해 메시지를 보내려면 어떻게해야합니까?
- 29. GAE의 모든/모든 Python 데이터베이스 객체에 대한 감사 추적 유지
- 30. 는 클러킹을위한 스레드를 생성하고 다시 다른 스레드를
[NSThread exit]를 사용 하시겠습니까? 감사. – Crystal
현재 설정이 필요하지 않습니다. 시작하는 쓰레드는'updateDisplay'를 한 번 호출 한 다음 종료합니다. –