LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

Будит читателя (как это сделать - это отдельный вопрос, он вовсе не обязан спать на conditional variable, и вообще в случае SHM быть в том же процессе. Читатель забирает данные, изменяет свою позицию, memory barrier. Что делать писателю если читатель не успевает - тоже отдельный вопрос, стратегии могут быть разными. Как-то так.

это называется суп из топора. вы это напишите в псевдокоде хоть…

а будит и встает в ожидание - это вопрос не отдельный, а принципиальный! потому, что это основной вопрос философии тредов.

а в ваших концепциях об этом нет НИЧЕГО. ни одна из ваших базовых штучек, этого делать не умеет. я потому и говорю, что в ваших понятиях ничего написать невозможно, потому что нет ни треда, ни ожидания, ни пробуждения, ни переключения.

ну вот что значит в ваших словах - «читатель забирает данные»? а пока данных не было, читатель делал что? спал, в цикле крутился? если спал - как он заснул и как пробудился?

Исходная версия alysnix, :

Будит читателя (как это сделать - это отдельный вопрос, он вовсе не обязан спать на conditional variable, и вообще в случае SHM быть в том же процессе. Читатель забирает данные, изменяет свою позицию, memory barrier. Что делать писателю если читатель не успевает - тоже отдельный вопрос, стратегии могут быть разными. Как-то так.

это называется суп из топора. вы это напишите в псевдокоде хоть…

а будит и встает в ожидание - это вопрос не отдельный, а принципиальный! потому, что это основной вопрос философии тредов.

а в ваших концепциях об этом нет НИЧЕГО. ни одна из ваших базовых штучек, этого делать не умеет. я потому и говорю, что в ваших понятиях ничего написать невозможно, потому что нет ни треда, ни ожидания, ни пробуждения, ни переключения.