Spurious wakes
От: Videoman Россия https://hts.tv/
Дата: 02.03.21 20:49
Оценка: 50 (6)
Тут на форуме, лет 5 назад, проскакивала тема про condition variables и ложные срабатывания. Помню была ярая дискуссия про то, почему они возникают. Была просто куча версий и помню, что даже один человек написал что-то разумное про lock-free хеш-таблицу, но как-то дальше все сумбурно было. Нечаянно натолкнулся на статью от Microsoft, о том почему это происходит, где, на мой взгляд, эта особенность наиболее понятно описана.

Заодно, те кто в танке, могут узнать о мощьнейшем-новейшем объекте ожидания от Microsoft — Wait­On­Address. Может кто-то очень хочет создать "халявные" 1М объектов синхронизации на процесс без использования ресурсов ядра и не знает как это сделать . Правда если их все поставить одновременно на ожидание, думаю ядро сильно удивится. С другой стороны на это нужно будет 1М потоков, так что наверное это не реально.

P.S. Заранее извиняюсь если я зря опять откопал стюардессу.
Отредактировано 02.03.2021 21:48 Videoman . Предыдущая версия . Еще …
Отредактировано 02.03.2021 20:52 Videoman . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.