D2.0 클래스에는 "클래스 개체의 모니터에 대한 액세스 권한을 부여하는"__monitor
클래스 속성이 있습니다 (documentation). 나는 약간 주위를 검색하고 this 비트를 제외하고는 어떤 정보도 찾지 못했습니다. 그래서 : 모니터 란 무엇입니까? 하나의 모니터가 모두 synchronized member functions에 사용되는 이유는 무엇입니까? Java와 비슷한 멤버 함수를 동기화하는 데 사용되는 synchronization primitive입니까? 그리고 당신이 그것을 사용하지 않아도된다면/왜 유즈 케이스가 무엇입니까 __monitor
언어 def의 속성은 무엇입니까?D에서 클래스 모니터 란 무엇입니까?
10
A
답변
6
모니터는 자바처럼 모든 동기화 된 메소드가 동기화되는 느슨하게 초기화 된 객체입니다. Java와 달리 D는 시스템 프로그래밍 언어이며, 해킹이 필요한 경우에 대비해 하위 코드 세부 사항을 표시합니다. 그렇다고해도 인 경우 보통은 좋지 않습니다. 이를 통해 동작을 사용자 정의 할 수 있습니다. 예를 들어 클래스의 모니터 객체를 사용자 정의하거나 모니터를 소유하는 클래스와 모니터를 공유하는 core.sync.mutex
을 사용할 수 있습니다.
관련 문제
- 1. 자바 모니터 란 무엇입니까?
- 2. (OS) 모니터 란 무엇입니까?
- 3. 클래스 란 무엇입니까? 헤더에서
- 4. 프록시 클래스 란 무엇입니까
- 5. 확장 클래스 란 무엇입니까?
- 6. 서브 클래스 란 무엇입니까
- 7. 클래스 콘센트 란 무엇입니까?
- 8. Java의 모니터 클래스
- 9. Java의 Object 클래스 란 무엇입니까?
- 10. OpenCV에서 CvBlobTrackerAuto 클래스 란 무엇입니까?
- 11. 드라이버 클래스 란 무엇입니까? (자바)
- 12. 정적 내부 클래스 란 무엇입니까?
- 13. Java의 클래스 라이브러리 란 무엇입니까?
- 14. 클래스 TypeInfo가 D에서 키가되는 연관 배열?
- 15. D에서 객체 (클래스)를 foreachable하게 만드는 방법은 무엇입니까?
- 16. '\는 무엇입니까?' D에서 이스케이프 시퀀스?
- 17. 불린 속성만을 가진 클래스 란 무엇입니까?
- 18. C++에서 프록시 클래스 란 무엇입니까?
- 19. Android 클래스 AudioManager의 오디오 포커스 란 무엇입니까?
- 20. 도우미 클래스 및 스크립트 란 무엇입니까?
- 21. 첫 번째 클래스 .NET 언어 란 무엇입니까?
- 22. D에서 Y- 연결자?
- 23. 스레드 란 무엇입니까 (스레드 란 무엇입니까?)?
- 24. D에서 원시 문자 유형의 한계는 무엇입니까?
- 25. D에서 키보드 입력을 얻는 방법은 무엇입니까?
- 26. D에서 빈 문자열을 전달하는 방법은 무엇입니까? (gtkD에)
- 27. D에서 C 라이브러리를 사용하는 방법은 무엇입니까?
- 28. Java의 직렬화 란 무엇입니까?
- 29. 합성 명령어 란 무엇입니까?
- 30. D에서 CPU 아키텍처 결정
감사합니다. 그래서,'object.d'를 보면,이 모니터에 대한'Object.Monitor' (일명'IMonitor')라는 인터페이스를 볼 수 있습니다. 이것이 내가 구현해야하는 것입니까? 그리고'core.sync.mutex'를 보면, 샘플 사용법을 볼 수 있습니다. (주석에서'DMD를 사용하면 "o .__ monitor = & m_proxy"일 수 있습니다. "). 옳은? – stephan
@stephan : 나는 잘 모르겠다. 나는 결코 전에 이것을 어지럽히 지 못했다. 그래서 나는 그것의 세부 사항을 모른다. – dsimcha
뭔가 이상한 일을하지 않으면 모니터를 직접 구현하거나 설정하지 않아도됩니다. 나는 D에서 여러 가지 동기화 프리미티브를 몇 번 사용해 왔으며 결코 그런 종류의 작업을 수행 할 필요가 없었습니다. –