Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Да, это синхронизация двух нитей в одном процессе и (+)
Отправлено
SM 02 апреля 2008 г. 14:13
В ответ на:
В Вашем конкретном случае отправлено
Oldring 02 апреля 2008 г. 14:00
одной в ядре. Для минимизации расходов как раз и предпринимались всевозможные эксперименты с крит. секцией, мутексом, евентами. И разные схемы - синхронизация меж тредов процесса по отдельной схеме с крит. секцией и синхронизации процесс-ядро мутекосм/евентом, и совместная схема через один мутекс. Именно крит. секция с TryEnter создала больше всех накладных расходов. Использовать InterlockedCompareExchange не пришло никому в голову, из них использовали только инкремент-декремент в счетчиках, считающих везде, где попало. Кстати, возможно InterlockedCompareExchange, применная к ячейке физической памяти, замапленной параллельно и в ядро, и в юзер-процесс, можно было бы еще соптимизировать. Но сейчас это уже не очень это интересно.
Составить ответ | Вернуться на конференцию
Ответы