Concurrency and parallelism
CP.32
Для совместного владения между несвязанными `thread`s используйте `shared_ptr`
Причина
Если потоки не связаны (то есть не известно, что они находятся в одной области или один в течение времени жизни другого) и им нужно совместно использовать свободную память хранилища, которую нужно удалить, то shared_ptr (или эквивалент) - единственный безопасный способ обеспечить правильное удаление.
Пример
???
Примечание
- Статический объект (например, глобальный) может быть совместно использован, потому что он не принадлежит в смысле, что какой-то поток отвечает за его удаление.
- Объект на свободном хранилище, который никогда не должен быть удален, может быть совместно использован.
- Объект, принадлежащий одному потоку, может быть безопасно совместно использован с другим потоком, пока этот второй поток не переживет владельца.
Применение
???