Допустим, у меня есть класс Foo
class Foo {...}
И массив указателей длины N
Foo * fooArr[N];
Есть несколько потоков, которые должны читать и изменять элементы массива (а могут вообще удалить какой-то элемент) Первое, что приходит на ум - добавить массив мьютексов mutex mutArr[N];
И функции void lock(int index); и unlock(int index); Которые блокировали бы определённый объект на время работы с ним
Но при слишком больших длинах возникает исключение
#include <mutex>
#include <iostream>
using namespace std;
const int N = 25000;
int main() {
mutex mutArr[N];
cout << sizeof(mutArr) << endl;
system("pause");
return 0;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне нужно програмно изменить текст в QTextEditИ не знаю как к нему обратится, точнее к его тексту
В Python есть две функции: str и intЕсть ли возможность так переключаться между строкой и числом в C++? У меня есть a = 10
Как скрывать некоторые элементы TreeView и ListView?