================ Lösungsvorschlag ================ Zur ersten Frage: Die vorgeschlagene Fassung ist nicht _thread safe_, da alle Threads unkontrolliert auf eine gemeinsame Datenstruktur zugreifen: den Pseudo-Zufallszahlengenerator. Das Verhalten ist dann nicht mehr wohldefiniert, da sich dann mehrere Threads gleichzeitig den Generator aufrufen können, wobei dann einige Threads möglicherweise einen inkonsistenten Zustand vorfinden. Die Auswirkungen eines solchen Fehlers sind nicht unmittelbar ersichtlich. Es wäre denkbar, dass nur die zugesicherten Eigenschaften des Generators nicht mehr erfüllt sind. Bei ungünstigen Umständen könnte es vielleicht auch selten zu einem Crash führen. Hier ist ein Lösungsvorschlag zur zweiten Aufgabe, der auf die Matrix `A` zwei Sichten erzeugt für die obere und untere Hälfte und diese dann mit Hilfe zweiter Threads getrennt initialisiert. :import: session13/random_init5.cpp :navigate: up -> doc:index back -> doc:session13/page03 next -> doc:session13/page05