Wenn Affinity unter Windows nur für einen Thread festgelegt ist, werden Probleme mit Thread-unsicherer Software behoben?

448
j riv

Angenommen, ich habe eine Software eines Drittanbieters, die ich sowieso nicht wirklich bearbeiten oder ändern oder richtig debuggen kann. Ich habe den Verdacht, dass es Probleme mit Multithreading gibt, so dass die Anwendung aufgrund von unsicheren Teilen des Threads getrennt wird. Würde das Festlegen der Affinität der ausführbaren Datei in Windows auf einen einzelnen Thread nur solche Probleme beseitigen oder nur verringern oder aus anderen Gründen nichts tun?

0
Sie meinen gerade, dass Sie "die Affinität des Prozesses auf eine einzelne CPU setzen". Der Prozess erstellt einen oder mehrere Threads, unabhängig von der Affinitätseinstellung. Die Threads laufen auf CPUs oder nicht. Jamie Hanrahan vor 6 Jahren 0

1 Antwort auf die Frage

2
Daniel B

Dadurch verringert sich die Wahrscheinlichkeit, dass ein Problem auftritt. Da jedoch zwei Threads desselben Prozesses nicht in einer bestimmten Reihenfolge geplant werden, kann dies keine „bewährte“ Sicherheit bieten.

Während der Scheduler natürlich deterministisch ist, ist der fragliche Prozess nicht der einzige laufende Prozess. Als solches können Sie nicht mit Sicherheit sagen, was passieren wird. Eine einfache Mausbewegung kann dazu führen, dass mehr Arbeit geplant wird.

Sie beginnen jedoch mit bloßen Spekulationen. Wenden Sie sich an den Hersteller, um Informationen zum Absturz zu erhalten, und er kann Ihnen möglicherweise helfen.