stimme völlig mit Nan Wang überein. Ich denke, wichtigste Konzept ist „Vorkaufsrecht“ & amp; "Scheduling" und wie passiert, wenn Spinlock akquiriert wird. Wenn Spinlock akquiriert wird, ist die Vorbelegung deaktiviert (wahr oder nicht, ich weiß nicht, aber nehme an, dass es korrekt ist), es bedeutet, Timer-Interrupt kann aktuellen Spinlock-Halter nicht vorenthalten, aber aktuelle Spinlock-Hold noch Call Sleepable Kernel-Funktionen & amp; scheduler & amp; aktiv aufrufen Führen Sie "eine andere Aufgabe" aus. Wenn "eine andere Aufgabe" zufällig den gleichen Spinlock wie der erste Spinlock-Halter erhalten möchte, kommt hier ein Problem: da die Vorbelegung bereits durch den ersten Spinlock-Halter deaktiviert ist, "eine andere Aufgabe", die durch aktiven Aufruf des Schedulers durch den ersten Spinlock-Halter aufgerufen wird , kann nicht ausgeschlossen werden, so dass seine Drehung immer die CPU nehmen, das ist, warum Deadlock passieren.