LINUX.ORG.RU

[OpenMP] Shared Memory

 


0

1

Насколько дешёвыми являются операции доступа к одной переменой из нескольких потоков с помощью OpenMP?

Какие подводные камни может иметь попытка из нескольких потоков насиловать один QList (добавление, удаление, изменение элементов и пр.) без блокировок?

Приветствуется полезная литература.

попытка из нескольких потоков насиловать один QList (добавление, удаление, изменение элементов и пр.) без блокировок?


ну хоть бы подумал что пишешь. Тут тебе не подводные камни будут, а цунами.

Boy_from_Jungle ★★★★
()

>Какие подводные камни может иметь попытка из нескольких потоков насиловать один QList (добавление, удаление, изменение элементов и пр.) без блокировок?

Ну, как минимум, будет валиться при одновременных попытках править кулист.

Zhbert ★★★★★
()

3.1415здец будет. Организуй данные так, чтобы они не менялись из разных потоков.

Reset ★★★★★
()

Так... момент!

Насколько я понял мощь OpenMP заключается в простоте распоточивания приложений и работе с общей памятью.

Также мне известно, что переменная расположенная перед распоточенным блоком считается расшаренной для любого потока внутри этого блока. В моём вопросе подразумевалось, что это объект QList. В примерах я не узрел явного описания блокировок.

И вопрос-баян: как реализовано OpenMP? Где-то пробегало, что это просто обёртка над потоками и мьютексами. Так это? Какую роль играет опция -fopenmp при компилировании приложения, с точки зрения приёмов компилирования (т.е. почему компилятор должен ПОДДЕРЖИВАТЬ работу с OpenMP и почему не смогли обойтись простой строчкой #include <omp.h> в таком случае?)?

Просто вброс: почему при компиляции питона с -fopenmp линковщик бросает ошибку и останавливает сборку?

DarkAmateur ★★★★
() автор топика

пиши в потоках в локальные переменные, а потом собери все в точке join'a в лист, зачем делать неправильно?

Zubchick
()
Ответ на: комментарий от DarkAmateur

Просто вброс: почему при компиляции питона с -fopenmp линковщик бросает ошибку и останавливает сборку?

Потому что надо ещё и линковать с -lgomp ? Угадал?

tim239 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.