йцyкeн (30.11.2020 23:33, просмотров: 180) ответил fk0 на new -- это вызов operator new(sizeof(T)) и последующий вызов Т(...)
delete -- вызов ~T() и вызов operator delete(). Для массивов ещё
добавляется пробежка по всем элементам массива и вызов T() или ~T()
для каждого. Обычно функции operator new() и operator delete() --
этот тот же malloc() и free()... Так что в менеджменте памяти
ничего нового. Конечно нельзя вектор без мьютекса использовать
параллельно в разных потоках. Впрочем это касается любого класса
вообще. Любой
Я не про использование одного и того же вектора, а про ситуацию,
когда функция в одном потоке имеет локальную переменную типа
vector<double>, а функция в другом потоке - другую
переменную, и не обязательно vector, пусть это будет
map<string, int>. Я думаю, что new и delete потоков
работают с одним пулом памяти, и это требует синхронизации, и она в
"настоящих" операционках есть, а с RTOS для микроконтроллеров я
дела не имел.