2013-07-29 3 views
0

나는 응용 C++에서 abouting 스레드 동기화를 읽고있다공유 리소스

자원도 대역폭과 같은 덜 가시적 인 것들, 응용 프로그램이 단위 시간당 보내거나받을 수있는 정보의 양이 될 수 공유 . 예를 들어 많은 스레드가 웹 페이지 또는 기타 정보를 가져 오는 것과 같이 소켓에서 정보 을 동시에 요청할 수 있습니다. 대부분 운영 체제는 수백 또는 수천 개의 동시 연결을 관리 할 수 ​​있으며 정보가 도착할 때까지 기다릴 것입니다. 관리가 문제는 아니지만 적시에 정보를 수신하면 입니다. 응용 프로그램을 실행하는 컴퓨터에 정보의 상수 스트림이 필요한 경우 수신 할 대역폭보다 많은 정보에 액세스하려고하는 것을 알 수 있습니다. 위의 문단에

내 질문

저자가 의미하는 무엇을
  1. 는 "관리가 문제가 아니라 정보의 적시 영수증이다"입니다. 간단한 예를 elobarate하도록 요청.

  2. 또 다른 질문은 "응용 프로그램을 실행하는 컴퓨터에 일정한 정보 스트림이 필요한 경우 작성자가 의미하는 바는 사용 가능한 대역폭보다 많은 정보에 액세스하려고하는 것입니다." 왜 기계에 대한 이야기가 끊임없이 필요하며 우리는 더 많은 정보에 액세스하려고 시도하고 있으며 사용 가능한 대역폭을 알게 될 것입니다. 간단한 예를 들고 도망 갈 것을 요청하십시오.

감사합니다.

답변

0
  1. 결국 데이터가 도착합니다.

    그들은 각각의 스레드가 다른 스레드와 독립적으로 데이터를 요청할 경우 한 스레드가 요청한 긴급하게 요구되는 데이터가 다른 스레드가 요청한 것의 뒤에있는 큐에 걸린 상황이 발생할 수 있다고 주장합니다.

    응용 프로그램의 올바른 기능이 특정 시점 (예 : 비디오 스트리밍 응용 프로그램)에서 사용할 수있는 데이터에 따라 다르면 협업 (서로 통신하는 스레드) 또는 선제 적으로 대역폭 관리가 필요합니다. 외부 구성 요소).

  2. 가장 좋은 예는 비디오 스트리밍 응용 프로그램입니다. 비디오 데이터가 제 시간에 도착하지 않으면 충분한 컴퓨팅 성능이 있어도 재생이 중단됩니다.

+0

설명해 주셔서 감사합니다. 대역폭이 무엇인지 자세히 설명해주십시오. – venkysmarty

+0

주어진 시간에 호스트로 전송할 수있는 데이터의 양. 예 : 16Mbps (~ 1.8MB/s)의 ADSL을 사용하는 경우 200kB/s를 사용하는 9 개의 스레드가 한계에 연결하고 다른 하나를 추가하면 모든 성능이 저하됩니다. –