共享资源,如带宽同步

时间:2013-07-29 14:27:21

标签: c++ synchronization

我正在阅读应用C ++中的线程同步

  

共享资源也可能不那么有形,比如带宽   您的应用程序可以发送或接收的每单位​​信息量   时间。例如,许多线程可以同时请求信息   来自套接字,例如获取网页或其他信息。最   操作系统可以同时管理数百或数千个   连接并耐心等待信息到达。该   管理不是问题,而是及时收到信息   是。如果运行应用程序的机器需要一个恒定的流   信息,您可能会发现您正在尝试访问更多   信息比你有可用的接收空间。

我对上段的问题是

  1. 作者的意思是“管理不是问题,而是及时收到信息。”要求用简单的例子进行阐述。

  2. 另一个问题是作者的意思是“如果运行您的应用程序的计算机需要不断的信息流,您可能会发现您正在尝试访问的信息比您可用的带宽要多。”为什么作者谈论机器需要不断的流,我们会发现我们正在尝试访问更多信息然后可用的带宽。请求用简单的例子来阐述。

  3. 感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:0)

  1. 数据将最终到达。

    他们争辩说,如果每个线程都要求数据独立于其他线程,那么可能会导致一个线程请求的紧急需要的数据卡在另一个线程请求的队列后面的情况。

    如果您的应用程序正常运行取决于某个时刻可用的数据(例如视频流应用程序),那么您需要明确的带宽管理,要么合作(线程相互通信),要么先发制人(外部组件的配置。)

  2. 最好的例子是视频流应用。如果您的视频数据没有及时到达,即使有足够的计算能力,播放也会停止。