| Zobrazit předchozí téma :: Zobrazit následující téma |
| Autor |
Zpráva |
nou

Založen: 28. 07. 2007 Příspěvky: 1051
|
Zaslal: 10. červenec 2012, 18:58:11 Předmět: |
|
|
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 |
|
 |
Játro.m
Založen: 01. 02. 2010 Příspěvky: 230
|
Zaslal: 12. červenec 2012, 18:19:27 Předmět: |
|
|
Tak problém je vyřešen, aktuálně už mi aplikace z leakovaných 130MB 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 |
|
 |
|
|
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