У меня есть многопоточная программа, которая содержит навязчивый связанный список объектов. Мне нужно передать объекты из этого списка нескольким потокам, но только один поток когда-либо будет владеть объектом одновременно, а это означает, что мне не нужен этот объект или указатель на него не используется.
Я хотел создать навязчивый список с помощью unique_ptr с использованием boost, но из того, что я прочитал, unique_ptr не будет совместим с навязчивой библиотекой Boost, поскольку у нее нет правильной семантики владения.
За эта навязчивая библиотека требует, чтобы ее элементы (указатели) имели ту же семантику владения, что и необработанный указатель. Так что unique_ptr или даже shared_ptr не подходят.
Интересно, может ли кто-нибудь дать мне несколько советов о том, как лучше всего реализовать мой навязчивый список, чтобы я мог безопасно передавать его элементы через несколько потоков и знать, что они перемещаются в этот поток и НЕ разделяются между потоками?