.[ ČeskéHry.cz ].
Pozastavení vlákna
Jdi na stránku Předchozí  1, 2
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> .NET
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Yossarian



Založen: 28. 07. 2007
Příspěvky: 274
Bydliště: Šalingrad

PříspěvekZaslal: 13. květen 2009, 15:40:42    Předmět: Odpovědět s citátem

yield return v CIL vubec neni, c# si pri yield return vytvori tri prdele trid a pomocnych funkci, takze tudy cesta nevede.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mnemonic



Založen: 28. 07. 2007
Příspěvky: 93

PříspěvekZaslal: 13. květen 2009, 19:08:42    Předmět: Odpovědět s citátem

Nedavno jsem se trosku zajimal o moznosti pouziti C# coby skriptovaciho jazyka, a narazil jsem na dva pristupy.

Jeden je implementace mikrothreadu pomoci modifikovaneho Mono runtime, ktery pridava interni systemove metody, ktere dokazou pozastavit vykonavani programu, ulozit zasobnik, a prepnout se na dalsi mikrothread. Patch ke stazeni tady: http://www.bat.org/~tomba/monoco.html Ted koukam, ze pred par dny pribyla nova verze, tu jsem netestoval. Mam pocit, ze tenhle pristup pouziva Unity3D engine.

Druhy pristup pouziva Second Life, a to ze pomoci RAILS modifikuje vysledny CIL kod, a na vhodna mista vklada dalsi kod, ktery zajisti prepnuti mikrothreadu. Obavam se, ze toho nevim o CLI tolik, abych to dokazal pochopit Smile ale princip je popsan tady: http://secondlife.blogs.com/babbage/2006/05/microthreading_.html
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Sosarian



Založen: 07. 11. 2007
Příspěvky: 51

PříspěvekZaslal: 13. květen 2009, 22:26:24    Předmět: Odpovědět s citátem

no za pouziti Mono.Cecil sem tam daval volani staticke metody ktera poustela thread.sleep nez sem chtel jet dal a to celkem fugnovalo, ale je mozny ze se ta assembly pak ulozi jinak nez ma (veskutecnosti me moc nesla nacist Smile), a "rucne nacitat PE, pridavat tam instrukce, menit vsechny skoky, pridat do tabulky odkaz na tu metodu" by asi trvalo dlouho a Reflection.Emit tohle bohuzel nezvlada

ale je pravda ze takhle bych si mohl napsat vlastni "vlakna", mozna se na to jeste podivam



ale uz sem to prepsal jinak ted to mam tak ze se to pusti jako async eventa a pritom se nastavit ze ta AI premysli, a pokud se ji nepovede dopremyslet do doby nez ubehne urcitej cas tak vynecha jedno "kolo" tzn neprovede se s ni zadna herni logika (jako posouvani, staveni a tak) coz teda je dost jiny nez co sem puvodne psal ze chci, ale veskutecnosti to asi zadny negativni ucinky mit nebude
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
OndraSej



Založen: 28. 07. 2007
Příspěvky: 765
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 14. květen 2009, 12:42:54    Předmět: Odpovědět s citátem

Nevim, jestli to je jeste aktualni, ale narazil jsem na e-book Threading in C#, treba to pomuze aspon jako inspirace Smile
http://www.albahari.com/threading/
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> .NET Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2
Strana 2 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna