Zadejte hledaný výraz...

Vícevlákniové operace

Petr
verified
rating uzivatele
9. 6. 2013 10:57:34
Zdravim,
studuji vícevláknové programování a měl bych pár dotazů, pro ty co tuto techniku ovládají.
Pokud spustím atomickou operaci na více vláknech a nad společnou instancí objektu(na vícevláknovém procesoru), může nastat situace, že třeba 2 vlákna budou zároveň pracovat nad touto atomickou operací současně?
Vím, že na jednoprocesorovém systému se to stát nemůže. Tam je zaručeno, že vlákno dokončí svou operaci, aniž by byla operace přerušena po uplynutí přiděleného času a přesunuta k jiné operaci.
Na fyzickém stroji s více procesory je tato atomičnost také nějakým způsobem zajištěna?
Díky
9. 6. 2013 10:57:34
https://webtrh.cz/diskuse/vicevlakniove-operace/#reply910700
Pokud jsi dobře pamatuji musí se provádět synchronizace jednotlivých vláken, pokud běží nad stejnými objekty. Lze to provádět zamykáním objektů nebo podle specifikací použitého programovacího jazyka.
9. 6. 2013 12:38:51
https://webtrh.cz/diskuse/vicevlakniove-operace/#reply910699
Milan Šťovíček
verified
rating uzivatele
9. 6. 2013 12:38:54
Jiste, i na multiprocesorovych strojich musi byt zajistena kriticka sekce a atomicita.
Zdroje napr. http://cs.wikipedia.org/wiki/Kritick%C3%A1_sekce a reseni pomoci mutex nebo semaforu. Nebo v Jave modifikator synchronized (http://v1.dione.zcu.cz/java/sbornik/16.html). Java ma i atomicke datove typy (v balicku java.util.concurrent).
// snad jsem nepomichal nekolik veci dohromady - znam to prevazne teorieticky, prakticky jsem to pouzil jen na nekolika malo prikladech.
9. 6. 2013 12:38:54
https://webtrh.cz/diskuse/vicevlakniove-operace/#reply910698
Pro odpověď se přihlašte.
Přihlásit