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.

Díky, stačila informace, že thread nejde zastavit zvenku. Je pro to nějaký důvod?

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