Информация об изменениях

Сообщение Spurious wakes от 02.03.2021 20:49

Изменено 02.03.2021 20:52 Videoman

Spurious wakes
Тут на форуме лет 5 назад проскакивала тема про condition variables и ложные срабатывания. Помню была ярая дискуссия про то почему они возникают. Была просто куча версию и помню что даже один человек написал что-то разумное про lock-free хеш таблицу, но как-то дальше все сумбурно было. Нечаянно натолкнулся на статью от Microsoft, о том почему это происходит, где, на мой взгляд, это особенность наиболее понятно описана.

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

P.S. Заранее извиняюсь если я зря опять откопал стюардессу.
Spurious wakes
Тут на форуме лет 5 назад проскакивала тема про condition variables и ложные срабатывания. Помню была ярая дискуссия про то, почему они возникают. Была просто куча версий и помню, что даже один человек написал что-то разумное про lock-free хеш таблицу, но как-то дальше все сумбурно было. Нечаянно натолкнулся на статью от Microsoft, о том почему это происходит, где, на мой взгляд, это особенность наиболее понятно описана.

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

P.S. Заранее извиняюсь если я зря опять откопал стюардессу.