Цитата(AHTOXA @ Aug 22 2010, 22:53)

Кстати, а что плохого в том, что задачи ещё немного попереключаются? Ну закончит текущая активная задача вывод на экран, до того, как вы захватите мутекс. Что в этом такого?
Нет, ничего плохого в том, что задачи поработают ДО того, как захватывается мьютекс нет.
Главное, чтобы ПОСЛЕ не переключались.
Видите ли, у меня каждая функция вывода на ЖКИ оформлена мьютексом.
Например:
Код
void LCD_IF::PrintText(const char *text, int xs, int ys, dword flags, dword fcolor, ...)
{
LCD_Mutex.Lock();
//тело функции
LCD_Mutex.Unlock();
}
и я их буду вызывать последовательно несколько раз.
То есть где нибудь между вызовами, когда мьютекс разлочен, задача может переключиться на другую, более приоритетную... этого нельзя допустить.
Пришлось ввести флаг, запрещающий пользоваться мьютексами внутри таких функций после запрета прерываний.