Poznáváme C# a Microsoft.NET – 51.díl – použití vláken III.

Diskuze čtenářů k článku

avatar
24. 11. 2007 13:46

Programovou oflline verzi seriálu naleznete ke stažení na http://poznavame-c-msnet.wz.cz/

Souhlasím  |  Nesouhlasím  |  Odpovědět
Lubos Hladik  |  14. 07. 2006 09:20

Zdravim,
nemelo by u prvnich dvou prikladu v tomto clanku pri splneni podminky if (Monitor.TryEnter(elements)) byt jeste Monitor.Exit()? Tedy pokud se podari zamek ziskat, tak jej na konci take uvolnit.

Jinak moc pekne napsane clanky o pouziti vlaken!!

Lubos Hladik

Souhlasím  |  Nesouhlasím  |  Odpovědět
Silvius  |  02. 12. 2005 17:47

A nestacilo by nodifikovat metodu DoSomeWork nasledovnym sposobom?

internal void DoSomeWork()
{
lock(this)
{
for (int i = 0; i < 3; i++)
{
Console.WriteLine("{0} - {1}", Thread.CurrentThread.Name, i);
//probuzeni dalsiho vlakna
Monitor.Pulse(this);
//vzdani se zamku k objektu
Monitor.Wait(this);
}
Console.WriteLine("Vlakno {0} skoncilo svou cinnost", Thread.CurrentThread.Name);
/////////////////////////////////////////////////////////////////////////////////////////
Monitor.Pulse(this);
/////////////////////////////////////////////////////////////////////////////////////////
}
}

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor