세마포어 obj를 대기 모드로 전환하는 방법이 있습니까? 예를 들어, 허가 번호가 특정 숫자로 올라갈 때까지 기다려야합니까?대기 상태에 세마포어 obj를 두는 방법
답변
그냥 Semaphore.acquire(int permits)을 사용하십시오. 사용 가능한 허가가 permits
까지 기다립니다. 당신이 다른 스레드가 허가를 "훔칠"수 나중에오고 있는지 확인하려면, 그래서이 다음 사용할 수 permits
허가 걸리는 경우
는 true로 fair
세트와 세마포어를 만들 수 있습니다.
http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/Semaphore.html 링크의 예를 확인하십시오. getNextAvailableItem() 메소드에 조건을 추가하여 링크의 특정 숫자만큼 허가 수가 증가 할 때까지 대기 할 수 있습니다. 문제에 대한 자세한 설명/설명을 공유하십시오.
죄송합니다. 귀하가하려는 일을 이해하지 못했습니다. 이 경우에는 CyclicBarrier처럼 좋은 메커니즘이 될 것 같습니다.
작업 예제를 제공해 주시겠습니까? –
편집 해 주셔서 감사합니다. 그러나이 작업을 통해 객체 (스레드)에게 쌍으로 개체에 대한 액세스 권한을 부여 할 수는 없습니다. 미안하지만 그건 내 작전이 아니야. 내가 필요한 것은 오직 두 개의 쓰레드가 하나의 객체에 접근 할 수 있고 두 개의 쓰레드가이 객체로 끝난 후 다른 두 명이이 객체에 접근 할 수 있다는 것입니다. 미안 OP에 이것을 상세히 말하지 않기 위해 다시 한번. –
- 1. 윈도우에서 세마포어 값이 0이 될 때까지 대기/차단하는 방법
- 2. 세마포어 작동 방법 테스트
- 3. textPath에 circle obj를 추가하는 방법
- 4. 소비자 스레드의 주 스레드에서 데이터 대기 대기 구성 방법
- 5. 번들에 문자열을 두는 방법
- 6. UITableView에 UIView를 두는 방법
- 7. 자바에서 세마포어
- 8. 스레딩 세마포어
- 9. 대기 후 스레드가 실행 가능 상태가 아닌 차단 상태에 있어야합니다?
- 10. obj를 F #에서 xml로 덤프하는 방법
- 11. Linux 프로세스 간 재진입 세마포어
- 12. OpenERP에서 상태에 메시지를 추가하는 방법
- 13. 목록 상자에 arraylist를 두는 방법
- 14. 키보드 위에 UIView를 두는 방법
- 15. 이미지 위에 스팬을 두는 방법
- 16. WPF에서 ListviewItem에 중점을 두는 방법?
- 17. FIFO 세마포어 테스트
- 18. 파이썬에서의 세마포어 클린업
- 19. 명령 줄 세마포어 유틸리티
- 20. 세마포어 및 sem_wait() 문제
- 21. 운영 체제의 세마포어
- 22. 세마포어 경쟁 조건?
- 23. 프로세스가 세마포어 값
- 24. 단일 스레드의 세마포어
- 25. 비 관리 코드의 세마포어
- 26. Ada95의 스레드 및 세마포어
- 27. 세마포어 소유권/변경
- 28. 여러 사용자를위한 세마포어
- 29. POSIX 세마포어 이름을 얻으려면
- 30. .Net의 세마포어 클래스에 관해서
링크를 표시 할 수 없습니다. –
이 (가) 링크를 업데이트했습니다. – Samra
이것은 세마포어를 "대기"상태로 만드는 방법을 보여주지 않습니다. 하나의 허가증이 이용 가능 해지면 세마포어는 통과 시키지만 최소한 n 개의 허가증이있을 때까지는 세마포어가 차단할 수있는 것이 필요합니다. –