Im folgenden BeispielUmfang der Variablen innerhalb Threads für Schleifen?
shared_arr = zeros(4000)
[email protected] for thread = 1:4
tmp_arr = rand(1000)
for i = 1:1000
shared_arr[(thread - 1)*1000+i] = tmp_arr[i]
end
end
ich shared_arr
glauben wird von allen Threads gemeinsam genutzt. Ist tmp_arr
4 mal zugewiesen, so dass jeder Thread seine eigenen tmp_arr
hat?
Ich denke (aber müsste prüfen/denke mehr), dass die Antwort ja ist, und ja. Aber dieser 'Rand' ist nicht threadsicher (aufgrund des gemeinsamen globalen Samens) und kann sich merkwürdig verhalten. Aber ich bin mir nicht sicher. –