
SwooleConnectionIterator::count 메서드는 연결된 클라이언트의 수를 정확하게 반환합니다. 이 메서드는 스레드 안전하므로, 동시 접속이 많은 서버에서 사용할 수 있습니다.
이 메서드의 성능 저하는 연결된 클라이언트의 수에 따라 달라집니다. 연결된 클라이언트가 많을수록 메서드의 성능이 저하될 수 있습니다. 하지만 일반적으로 스레드 안전한 메서드는 스레드 간의 공유 자원에 대한 접근을 최소화하여 성능 저하를 최소화합니다.
이 메서드를 사용할 때, 특정한 조건이나 설정이 필요하지 않습니다. 단, 스레드 안전을 보장하기 위해 스레드 로컬 저장소(TLS)가 활성화되어 있어야 합니다. 스레드 로컬 저장소는 스레드 간의 공유 자원을 최소화하여 스레드 안전성을 보장합니다.
스레드 로컬 저장소는 다음의 방법으로 활성화할 수 있습니다.
- `swoole_set(TCP_NODELAY, 1)` : 스레드 로컬 저장소를 활성화합니다.
- `swoole_set(TCP_DEFER_ACCEPT, 1)` : 스레드 로컬 저장소를 활성화합니다.
스레드 로컬 저장소가 활성화된 경우, SwooleConnectionIterator::count 메서드는 스레드 안전하게 연결된 클라이언트의 수를 반환합니다.
2025-07-18 04:18