오늘 내 문제를 해결할 here nice answer이 있습니다. 불행히도, 나는 잠그는 법을 잊어 버렸다.잠그기, 질문하기
문제는 간단합니다. 서버에서 연결된 각 클라이언트는 최대 클라이언트 인 1에서 500까지 고유 한 ID (재사용 가능)를 갖게됩니다.
대답은 qeue를 만들고 대기중인 요소를 새 연결에 사용하고 릴리스 될 때 다시 반환하는 것이 었습니다.
내가 제대로 이해하는지 모르겠다. 또한 500 요소 (ints)로 qeue를 초기화하고 하나씩 가져 와서 한 번 릴리스 된 상태로 되돌려 야합니까?
그렇다면 자물쇠를 사용했기 때문에 내 질문은 주로 성능을 목표로했습니다.
간단한 잠금만으로 충분합니다. – Thomas
+1 사소한 수정 ... BLOCKING은 더 이상 사용할 수있는 연결이 없을 때 수행 할 작업의 응용 프로그램 문제에 대한 유일한 해결책입니다. 시스템 및 컨텍스트에 따라 오류 코드를 반환하거나 대신 예외를 throw 할 수 있습니다 (또는 관련된 다른 오류 처리 패러다임). 그렇지 않으면 훌륭한 대답. – James