Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Ruby - zastavení vlákna odjinud (doplněk Thread#wakeup/run)

Ahoj, mám triviální dotaz, na který nemohu na internetu najít odpověď.
Můžeš si představit, že programuji v IRB (nebo dokonelšjším PRY), takže tam se příkazy nevykonávají ihned za sebou jako v souboru, ale až je napíšu a odentruju.

Existuje metoda, která zastaví(ne zabije) vybrané vlákno? Vlákno se může zastavit samo sebe voláním Thread.stop, ale to já nechci. Když existuje metoda wakeup, proč není stop?
Prvně napíšu

t=Thread.new { loop do print 1 ;sleep 1}

# nyní bych rád zavolal
t.stop
#což neexistuje, ale toto existujhe
t.wakeup
Předmět Autor Datum
ked v niecom programujes a pouzivas tam tie objekty ktore niekto vyrobil, tak opuzivas referencnu pr…
MM.. 30.08.2013 00:18
MM..
Díky, stačila informace, že thread nejde zastavit zvenku. Je pro to nějaký důvod? poslední
mnua.al 30.08.2013 01:05
mnua.al

ked v niecom programujes a pouzivas tam tie objekty ktore niekto vyrobil, tak opuzivas referencnu prirucku ktoru napisal ten kto tie objekty naprogramoval.
Objekt Thread je v tom tvojom cude asi toto Thread.html a v lavom stlpci mas methods.

Ked si to tam pozres tak pochopis ze thread.stop sa robi vnutri threadu, a potom ho mozes zvonku prebudit wakeupom. Nemozes zvonku thread zastavit ak to zastavenie neni naprogramovane v threade. Uz z principu toho co to je thread. Mozes ho zvonku ale zakillovat.

Zpět do poradny Odpovědět na původní otázku Nahoru