싱글 스레드란 무엇이고 멀티 스레드란 무엇입니까? 답변해 주십시오. 감사합니다.
멀티 스레드 다운로드의 원칙은 다음과 같습니다. 일반적으로 서버는 동시에 여러 사용자에게 연결되며 대역폭은 사용자 간에 공유됩니다. N명의 사용자가 모두 동일한 우선순위를 갖는 경우 각 사용자가 서버에 연결하는 데 사용하는 실제 대역폭은 서버 대역폭의 1/N입니다. 사용자 수가 많으면 각 사용자는 아주 적은 대역폭만 차지할 수 있고 다운로드하는 데 시간이 오래 걸릴 것이라고 생각할 수 있습니다.
동시에 여러 스레드를 통해 서버에 연결하면 더 높은 대역폭을 추출할 수 있습니다. 예를 들어, 원래 단일 스레드를 통해 서버에 연결된 사용자는 10명입니다. 서버의 전체 대역폭이 56Kbps라고 가정하면 각 사용자(각 스레드)에게 할당되는 대역폭은 5.6Kbps, 즉 0.7K 바이트/초입니다. 두 개의 스레드를 열어 동시에 서버에 연결하면 서버에 연결하는 데 11개의 스레드가 있게 되며 얻을 수 있는 대역폭은 56/11*2=10.2Kbps, 약 1.27K 바이트/초가 됩니다. 이는 원래의 이중에 가깝습니다. 동시에 더 많은 스레드를 열수록 더 큰 대역폭을 얻을 수 있습니다(이렇게 되면 앞으로는 매번 1K 스레드를 통해 연결할 것입니다: P). 물론 이 경우 더 많은 시스템 리소스가 사용됩니다. "미친 다운로드"로 알려진 일부 다운로드 도구는 동시에 100개의 스레드를 열어 서버에 연결할 수도 있습니다.