두 번째 스레드가 첫 번째 스레드에서 사용중인 동일한 메서드에 액세스하는 것을 중지하려면 어떻게합니까?멀티 스레딩을 사용할 때 메서드를 잠그는 방법?
0
A
답변
2
하나의 옵션은 메서드에서 @synchronized를 사용하는 것입니다.
- (NSString *)someMethod {
@synchronized(self) {
// do some work
}
}
이 메서드를 사용하면 호출 할 수 있지만 자체적으로 동기화하고 작업 (더 중요한 것은 작업중인 데이터)을 보호합니다.
0
NSLock을 살펴보십시오. C#을 잠금 문을 찾을 때
그냥 그것을 발견, 또 다른 SO 동기화에 관한 스레드가
.. 같은 일을 나타납니다
관련 문제
- 1. BeginInvoke를 멀티 스레딩에 사용할 때 리소스를 잠그는 방법은 무엇입니까?
- 2. PHP에서 멀티 스레딩을 사용하는 방법
- 3. 콘솔에서 멀티 스레딩을 제어하는 방법
- 4. 멀티 스레딩을 사용할 때 양식의 모든 컨트롤을 활성화 하시겠습니까?
- 5. CountDownLatch를 사용할 때 올바르게 동기화/잠그는 방법
- 6. 비동기 프로그래밍은 멀티 스레딩을 의미합니까?
- 7. PHP5는 멀티 스레딩을 지원합니까?
- 8. DBCP - 멀티 스레딩을 지원합니까?
- 9. NSEnumerationConcurrent가 멀티 스레딩을 보장합니까?
- 10. Webservice에서 멀티 스레딩을 지원합니까?
- 11. 멀티 스레딩을 사용하는 NSNotification XCODE
- 12. Azure에서 멀티 스레딩을 수행하는 올바른 방법
- 13. Java에서 멀티 스레딩을 어떻게 처리해야합니까?
- 14. iOS에서 evernote api로 멀티 스레딩을 처리하는 방법
- 15. TCL에서 멀티 스레딩을 사용하려면 어떻게해야합니까?
- 16. 멀티 스레딩을 통한 애플리케이션 리던던시
- 17. 바인더를 사용하여 서비스 메서드를 호출 할 때 스레딩을 사용하는 방법
- 18. C# 멀티 스레딩을 사용하여 파일을 처리하는 방법
- 19. Python 멀티 스레딩을 통한 성능 향상 방법
- 20. 멀티 스레딩을 통한 다운로드 처리량 극대화 방법
- 21. iOS : 멀티 스레딩을 구성하는 가장 좋은 방법
- 22. 멀티 스레딩을 사용하는 Net UDP
- 23. 멀티 스레딩을 사용하여 합계 계산
- 24. VB.NET은 자체적으로 멀티 스레딩을 수행합니까?
- 25. 스레딩을 사용할 때 소켓 문제가 발생했습니다.
- 26. 스레딩을 사용할 때 Ctrl-C가 작동하지 않습니다.
- 27. C# 단일 메서드를 액세스하는 멀티 스레드
- 28. HTTPS 및 멀티 스레딩을 사용하는 컬 (curl)
- 29. 멀티 스레딩을 사용하여 파일을 읽을 때 동기 및 비동기 작업
- 30. 비동기 웹 요청을 사용하여 멀티 스레딩을 수행하는 방법
효과가있었습니다. 고맙습니다. 나는 아직도 의심이있다. 프로세스가 첫 번째 스레드에 의해 완료되면 두 번째 스레드는 자동으로이 메소드에 액세스 할 수 있습니까? 첫 번째 스레드가 작업을 완료 할 때까지 다른 모든 스레드가 대기합니까? – Dee
예, 두 스레드 모두 메소드에 들어가고, 하나는 동기화 된 코드 블록을 실행하고 다른 스레드는 수행을 계속합니다. – bryanmac
다음은 더 자세한 설명입니다. http://stackoverflow.com/questions/1215330/how-does-synchronized-lock-unlock-in-objective-c – bryanmac