drainTo는 현재 들어 있는 여러 항목을 한 번에 옮기지만 미래 항목까지 기다리지는 않습니다.
한 항목까지 대기 · 개별 처리
즉시 부재 반환 · 비차단
현재 Queue를 일괄 이동 · 미래 항목 미대기
핵심: 첫 항목 대기가 필요하면 take 뒤 drainTo를 조합하고 처리 실패 경계를 별도로 정합니다.