나는 각 스레드가 많은 정보 블록을 처리하는 10-30 개의 스레드를 갖는 프로그램의 설계 단계에 있습니다.어떤 시점에서 짧은 시간이 CPU util을 줄이기보다는 늘린다
각 블록이 5ms 동안 잠을 자거나 전혀 잠을 못 자고 있습니다. 나는 CPU 부하를 줄이는 것을 선택해야한다.
일반적으로 CPU 사용률을 줄이기 위해 잠자기를 사용하지만 컨텍스트 전환으로 인해 5 밀리 초가 지나면 CPU 사용률이 감소하지 않고 증가 할 수 있습니다.
짧은 수면과 CPU 사용률의 컨텍스트 전환 사이의 관계에 대한 연구가 이미 있습니까?
하지만, 이러한 스레드는 정말 아무것도 할 예정 계산을 제외하고? 예를 들어 I/O가 없습니까? 그들이 시스템 호출을 실행하려고한다면, 나는 잠을 자지 않고 그냥 풀 스피드로 풀어 둡니다. 운영 체제가 대처합니다. 우선 순위를 낮추는 것이 좋습니다 * – EJP
EJP, 내가 설명한 시스템 부분에는 I/O가 없으며 순수 컴퓨팅입니다. 나는 그들의 우선 순위를 낮추는 것을 고려할 것이다. – Lurk21
1GHz에서 작동하는 컴퓨터가 클럭주기 당 하나의 작업을 실행할 수있는 경우 5ms 동안 5 백만 건의 작업이 수행됩니다. 그 시간 동안 컨텍스트 스위치를 * 많이 사용할 수 있습니다! – Gabe