В продолжение серии "про многопоточность". Возникло непонимание в таком вопросе: Предположим, имеется некая функция, не содержащая обращений к "внешним" данным. В системе несколько процессоров, т. е. несколько потоков могут одновременно или с крайне незначительным перекрытием по времени обратиться к этой функции. Разумеется, они ей что-нить передадут (через указатели), разумеется, функция изменит как свои внутренние переменные, так и переменные потоков. Вопрос, собственно, в следующем: для каждого потока создастся "персональный образ" этой функции, или поток T1 изменит в функции переменную Var, и поток T2 прочитает уже изменённый вариант Var? Изложил несколько коряво, но я сам пока не могу кристально чисто сформулировать, что мне не нравится, просто "меня терзают смутные сомнения"... |