Re[16]: Java vs C# vs C++
От: · Великобритания  
Дата: 07.10.15 09:25
Оценка: :)
Здравствуйте, Evgeny.Panasyuk, Вы писали:

EP>·>Под умными указателями понимается всё что угодно. Unique да, просто языковая конструкция, но он и не потокобезопасный.

Кстати, в java unique практически сам выводится — в тех тривиальных случаях когда ты бы стал использовать unique, java обыно делает escape analysis, да и Young Generation собирается очень быстро.

EP>·>Если нужна передача данных между тредами — нужен shared pointer,

EP>Он нужен только в случаях когда потоки владеют какими-то общими данными и точный момент удаления заранее не определён.
EP>Если просто нужно передать данные и владение в другой поток, то достаточно и unique, и то не факт — может быть хватит обычного перемещения.
Не владеют, а шарят... Будешь передавать weak_ptr, а значит опять локи.
Для перемещения — YG опять же.

Последствия обращения к неверным указателям — серьёзнее. Не простой краш, а хз что.

А ещё аллокация из кучи — глобальный лок. В общем, тормоза повсюду.

Короче, может и можно писать low latency на C++, но сложнее на порядок.

EP>·>который использует lock (mutex?) -

EP>Обычно в реализациях атомарные inc/dec.
Это где? Вот тут вроде mutex.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.