Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Не упустил. А по поводу самых легковесный средств (+)
Отправлено
SM 02 апреля 2008 г. 13:43
В ответ на:
А задача критической секции отправлено
Oldring 02 апреля 2008 г. 13:06
это asm-куски с lock inc, lock dec, и cmpxchg - легче не придумаешь, согласен. Пусть даже в виде функций, определенных в компилере.
А мой конкретный случай был таков - тяжеловесная обработка потока данных с периодическим "поглядыванием" на мутекс. Если ресурс дали - а это объект ядра типа Section, в него пихается куча обработанных данных. Далее с этой секцией работает другой, более низкоприоритетный тред, после него - еще и тред нулевого кольца, который создан в драйвере. Так вот - эту тяжеловесную обработку не хотелось уводить в нулевое кольцо, а минимизировать расходы на синхронизацию было необходимо. Из всех придуманных тогда решений - мутекс, одновременно работающий и как евент, оказался наименее жрущим. Пробовали делить секцию меж тредами юзер-моды через крит. секцию, а с драйвером - мутексом и евентом - заметно медленнее. О чем я и сообщил, что крит. секция тормознее. Но я не знал, что есть случаи, когда крит. секция быстрее.
Составить ответ | Вернуться на конференцию
Ответы