.[ ČeskéHry.cz ].
Sdílená paměť
Jdi na stránku Předchozí  1, 2
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
nou



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

PříspěvekZaslal: 10. červenec 2012, 18:58:11    Předmět: Odpovědět s citátem

pozor na zamykanie viacerych mutexov naraz. predstav si nasledovnu situaciu.
kód:

vlakno 1                         vlakno2
lock(mutexA)
                                     lock(mutexB)
                                     lock(mutexA)
lock(mutexB)//a mame deadlock


takze treba davat pozor na poradie zamykania viacerych mutexov. o data zo siete neprides o to sa ti postara OS ten prima vsetok sietovu prevadzku a aplikacie si to nasledne vyberaju.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Játro.m



Založen: 01. 02. 2010
Příspěvky: 230

PříspěvekZaslal: 12. červenec 2012, 18:19:27    Předmět: Odpovědět s citátem

Tak problém je vyřešen, aktuálně už mi aplikace z leakovaných 130MB Twisted Evil leakuje přesně 2043B, který dořeším jakmile dodělám GUI.

Pro ujištění, že jsem to udělal dobře, můj postup je takovej:

Vlákno sítí a vlákno loaderu zamykám přes kritickou sekci - v každým cyklu.
citace:

while(...)
{
lock();
funkceNaZpracovaniDat();
unlock();
}


Renderer jsem nechal bez zamykání, protože bych dostával lagy kvůli síti. Vyhodil jsem SuspendThread, protože to za mě vyřešily kritický sekce.

A jako poslední věc, paměť dealokuju ve stejným vlákně, kde byla alokovaná, jenom pro jistotu.

BTW: Až někdo dojde k tomuhle vláknu a bude ho trápit neuvolněná paměť pod GCC, tak toto je moc fajn věc.
http://wyw.dcweb.cn/leakage.htm

Dík.
_________________
Jeden z vývojářů hry Grenade Madness.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> C / C++ Č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