threads nebenläufig deterministische ausführung?
kann man bei der programmierung mit mehreren threads, aus auf einem system ausgefürt werden soll, welches eine nebenläufiige ausführung unterstützt deterministische ausführung gewährleisten? wenn ja wie, wenn nein warum
1 Antwort
Das ist in meinen Augen eine eigenartige Frage.
Die Ausführung ist (ohne Randomisierung) sowieso deterministisch, auch bei mehrere Threads.
Es gibt aber einen Unterschied zwischen die Ausführung ist deterministisch und der Vorhersage des Ablaufs durch Dich, der nur einen Teil der Informationen hat. Das Problem stellt sich bereits bei OOE und erst recht bei moderneren Cores mit multiplen EUs.
Nutzen mehrere Threads gemeinsame Resourcen, dann nutzt man normalerweise eine erzwungene Serialisierung durch entsprechende Primitive wie Mutexes, Semaphores, ...
So kann man dann auf makroskopische Ebene auch global eine Ausführungsreihenfolge erzwingen.