Re[3]: внутренняя реализация std::mutex?
От: AlexGin Беларусь  
Дата: 17.05.18 10:16
Оценка:
Здравствуйте, barney, Вы писали:

B>Вообще бы, хотелось программировать в какой то иной парадигме,

B>без критических секций и мьютексов.

Всё зависит от задач.
Я обычно мьютексы не использую, так как это "тяжёлые" системные объекты.
Насчет критических секций — не вижу ничего предосудительного в их применении.
Часто я аккуратно пользуюсь ими. Здесь важно — НЕ вводить в облась, защищенную секцией много кода:
::EnterCriticalSection(m_pCS);
// Самые элементарные действия с общими ресурсами
::LeaveCriticalSection(m_pCS);


B>Мне нравится идея максимально заполнять ядра процессора работой,

B>с помощью work queue или thread pool
Как я понимаю, это примерно так:
https://stackoverflow.com/questions/3458397/boostthread-and-creating-a-pool-of-them

Заполнять ядра CPU работой — это палка о двух концах:
При работе таких приложений, компьютер очень медленно реагирует на действия пользователя.
Правильнее — где-то в циклах рабочих потоков вводить ::Sleep(100...500);
— чтобы отдать управление системе (исключить жуткие тормоза для end-user-а).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.