是什么会导致std :: condition_variable notify_all非常慢(> 2ms)?

时间:2020-10-22 00:27:18

标签: c++ linux performance condition-variable

我有一个相当大的linux x64系统,具有很多线程和大量资源使用。我们最近发现,偶尔,notify_all()占用2ms以上的时间,并且经常占用100us的数量级。在同一系统上的玩具示例中,它的时间可靠地<1us。我们以一种非常简单的方式进行测量,在调用notify_all()之前和之后立即调用std :: chrono:high_resolution_clock :: now()。是什么导致这种数量级的差异?我印象深刻的是,通知非常便宜而且快捷。

0 个答案:

没有答案