Unterschied zwischen Thread # run und Thread # wakeup?

9

Was ist in Ruby der Unterschied zwischen Thread # run und Thread # wakup ?

Der RDoc gibt an, dass scheduler nicht mit Thread # wakeup aufgerufen wird, aber was bedeutet das? Ein Beispiel für die Verwendung von wakeup vs run ? Danke.

BEARBEITEN:
Ich sehe, dass Thread # wakup bewirkt, dass der Thread runnable wird , aber was nützt es, wenn es nicht ausgeführt wird, bevor Thread # run wird ausgeführt (was den Thread trotzdem aufweckt)?

Könnte jemand bitte ein Beispiel angeben, wo aufwachen etwas Sinnvolles tut? Aus Neugierde =)

    
Saad Malik 06.10.2012, 20:30
quelle

1 Antwort

3

Hier ist ein Beispiel, um zu veranschaulichen, was es bedeutet (Codebeispiel von hier ):

Thread.wakeup

%Vor%

Die obige Ausgabe zeigt an, dass der neu erstellte Thread aufgrund des Stoppbefehls inaktiv ist.

%Vor%

Diese Ausgabe zeigt an, dass der Thread nicht mehr schläft und ausgeführt werden kann.

%Vor%

Jetzt setzt der Thread die Ausführung fort und druckt die Zeichenfolge aus.

%Vor%

Thread.run

%Vor%

Der Thread wacht nicht nur auf, sondern setzt auch die Ausführung fort und gibt die Zeichenfolge aus.

%Vor%     
Prakash Murthy 06.10.2012 21:03
quelle

Tags und Links