Насколько я знаю, в многопоточных приложениях каждый поток имеет свой собственный отдельный стек и разделяет кучу с другими. Итак, мне было интересно, является ли это функцией языка, компилятора или OS-depenadent? Являются ли все многопоточные приложения такими?Общие переменные в многопоточных программах
Мой второй вопрос: есть ли общая переменная среди потоков, она создана в куче или нет? Есть ли другой способ обмена переменной между потоками, кроме как с помощью кучи?
Итак, это означает, что если я определяю общую переменную в pythma openmp, она переводится в malloc() ?? – user3684042
Нет, это означает, что на каждый процесс приходится всего 1 куча, и каждый поток, выполняющийся под таким процессом, имеет свою собственную стек стек (относительно текущего пути выполнения). Ни больше ни меньше. –