CPU * 2 갯수의 워커 쓰레드를 만든 다음에
해당 워커 쓰레드에서 현재 접속된 socket들을 분담하여 select, recv 하려고 생각중인데
커넥션당 1 쓰레드 붙여주니까 CPU를 너무 많이 먹어서..... 생각한 방법이거든??
저렇게 바꾸면 아무래도 select가 비동기가 아니기 때문에 딜레이라던지.. 그런 문제가 발생하지 않을까?
참고로 커넥션은 최대 200~300개정도 잡혀
CPU * 2 갯수의 워커 쓰레드를 만든 다음에
해당 워커 쓰레드에서 현재 접속된 socket들을 분담하여 select, recv 하려고 생각중인데
커넥션당 1 쓰레드 붙여주니까 CPU를 너무 많이 먹어서..... 생각한 방법이거든??
저렇게 바꾸면 아무래도 select가 비동기가 아니기 때문에 딜레이라던지.. 그런 문제가 발생하지 않을까?
참고로 커넥션은 최대 200~300개정도 잡혀
처리해야 될 일이 그닥 많이 없으면 쓰레드 필요없이 메인루프에서 돌리면서 할일 처리해도되고 쓰레드 넣으려면 select 만 돌리는 쓰레드 하나만 만들어도됨 단 동기화는 꼭 해줘야됨
흠.. 일단 저런식으로 워커 쓰레드를 만들어도 상관없다 이 말씀이시죠?? 답변 감사합니다~~ 아무래도 쓰레드 하나가지곤 딜레이가 심할것 같아서요.
thread pool