Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 共享资源,如带宽同步_C++_Synchronization - Fatal编程技术网

C++ 共享资源,如带宽同步

C++ 共享资源,如带宽同步,c++,synchronization,C++,Synchronization,我正在读关于应用C中线程同步的书++ 共享资源也可以是一些不太有形的东西,比如带宽 您的应用程序每单位时间可以发送或接收的信息量 时间例如,许多线程可以同时请求信息 从套接字,例如获取网页或其他信息。最 操作系统可以同时管理数百或数千个 并将耐心等待信息到达。这个 管理不是问题,而是及时接收信息 是如果运行应用程序的计算机需要一个恒定的 信息,您可能会发现您正在尝试访问更多 信息超过了您可以接收的可用带宽 我对上述段落的问题是: 作者所说的“管理不是问题,但及时收到信息才是问题所在”是什么意思?

我正在读关于应用C中线程同步的书++

共享资源也可以是一些不太有形的东西,比如带宽 您的应用程序每单位时间可以发送或接收的信息量 时间例如,许多线程可以同时请求信息 从套接字,例如获取网页或其他信息。最 操作系统可以同时管理数百或数千个 并将耐心等待信息到达。这个 管理不是问题,而是及时接收信息 是如果运行应用程序的计算机需要一个恒定的 信息,您可能会发现您正在尝试访问更多 信息超过了您可以接收的可用带宽

我对上述段落的问题是:

  • 作者所说的“管理不是问题,但及时收到信息才是问题所在”是什么意思?请用简单的例子来说明

  • 另一个问题是作者所说的“如果运行您的应用程序的机器需要一个恒定的信息流,您可能会发现您试图访问的信息超过了您可以接收的可用带宽”是什么意思为什么作者在谈论机器时需要恒定的流,我们会发现,我们试图访问比可用带宽更多的信息。用简单的例子请求elobarate

  • 谢谢你的时间和帮助

  • 数据最终会到达

    他们认为,如果每个线程请求独立于其他线程的数据,可能会导致一种情况,即一个线程请求的迫切需要的数据被卡在另一个线程请求的数据后面的队列中

    如果应用程序的正确运行取决于某一点上可用的数据(例如,视频流应用程序),那么您需要明确的带宽管理,或者是协作(线程相互通信),或者是抢占(外部组件的配置)

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


  • 谢谢你的澄清。你能告诉我这里的带宽是多少吗?在给定时间内可以传输到主机的数据量。例如,如果您有16 Mbps(~1.8 MB/s)的ADSL,那么使用200 kB/s的九个线程会使连接达到极限,如果您添加另一个线程,所有线程的性能都会降低。