Názory ke článku Vlákna v C# - 3. díl
14. 8. 2008
zdravim, tesim sa na dalsie diely lebo z tohto som nepoznal len lock(typeof()), ale nemam dovod to pouzivat (ako sami Vy pisete). Kolko planujete dielov vydat? Bojim sa totiz, ze by (ako na inych serveroch) vydavanie dielov zacalo stagnovat a aby nebol serial "dead".
Reagoval na komentář od uživatele mnn :Jsem rád, že se seriál líbí. Dílů plánuju cca 14, prvních 7 mám už napsaných, nebojte se, tento seriál na 100% dojde až do konce. Tento díl čekal na korekturu už od konce července, nevím, proč vyšel až takto pozdě:-)
17. 8. 2008
Procházení .NET kolekcemi je také thread-unsafe – dojde k vytvoření výjimky, pokud nějaké vlákno kolekci upraví, zatímco druhé vlákno touto kolekcí prochází. Tentokrát bych ale spíše než použití lockingu zkopíroval prvky kolekce do nějakého pole a procházel tou kopií, originál ať si klidně ostatní vlákna upravují, jak se jim zachce.
Necite v tomto race condition?
Aby Vam "ostatni" vlakno neupravilo ten original behem kopirovani do kopie v "druhem" vlakne!
Autore, studoval jste nekdy klasicky programatorsky predmet "Operacni Systemy", ktery se zabyva synchronizacnimi problemy mezi vlakny na obecne urovni?
Reagoval na komentář od uživatele Adamis : Omlouvám se, špatně jsem se v článku vyjádřil. Myslel jsem tím, že to kopírování samozřejmě provedu pod lockem, ale ne že budu lockovat celou originální kolekci během čtení. Opravím to, děkuji.
21. 8. 2008
zdravim,
dobry serial, necerpa nahodou z http://www.albahari.com/threading/,
popr. z http://www.albahari.com/threading/threading.pdf?
Prijemne a ctive prelozeno, pochvala! :smile1:
Reagoval na komentář od uživatele Dan Kudela : Přesně, čerpá z e-booku pana Albahariho:-)
22. 8. 2008
Reagoval na komentář od uživatele Jakub Kottnauer :
chcel som napisat, ze by ste sa mohli inspirovat z toho e-booku, no vidim ze som trochu pomaly ;-)
Jaké má zamčení účinky na zamykací objekt?
object zamek;
int i;
...
lock (zamek)
{i++;}
je zámek taky ovlivněn, nebo tam můžu dát první objekt, co mi Intlisense napoví?
Reagoval na komentář od uživatele flukas : Vliv to nemá žádný; pokud definuješ lock uvnitř nějaké třídy, tak dokonce můžeš zamykat klíčovým slovem "this", tedy instancí té samé třídy, ve které lockuješ.
28. 4. 2011
Nebylo by lepsi v poslednim priklade nahradit
lock (list) prvky = list.ToArray();
foreach (string s in prvky) Console.WriteLine(s);
timhle?
lock (list)
{
prvky = list.ToArray();
foreach (string s in prvky) Console.WriteLine(s);
}
Aby se vlakna nepredbihala pri vypisovani vysledku? Nebo jsem to spatne pochopil?