Навязчивый или не навязчивый - PullRequest
2 голосов
/ 29 сентября 2010

Я пишу многопоточное серверное приложение, которое требует стабильности и высокой производительности.Я смотрю на использование Boost для некоторых нужных мне структур данных.

Является ли навязчивая структура данных лучше или хуже для того, что должно быть поточно-ориентированным и требует быстрого доступа, вставки и т. Д. ::::?

1 Ответ

3 голосов
/ 29 сентября 2010

Интрузивные структуры данных по своей природе не лучше и не хуже, чем неинтрузивные структуры данных.

Лучший выбор - не делиться данными между потоками. Если потоки должны обмениваться данными, вторым лучшим вариантом является структура данных только для чтения, которая, следовательно, не требует синхронизации.

Общие структуры данных - это канал связи между потоками. В связи с этим вам нужно тщательно подумать о том, является ли структура данных с прямым доступом лучшим средством коммуникации. Что вам нужно от структуры данных? Будет ли очередь сообщений достаточной? Вам нужен параллельный доступ к одним и тем же данным или разные потоки обращаются к отдельным частям структуры данных?

Ничто в интрузивных структурах данных не делает их лучше или хуже, чем альтернативы многопоточного использования в целом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...