NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 3 - Vlákna - Uspání, blokování a stavy vláken v C# .NET

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Člen
Člen
Avatar
Člen:5.9.2014 10:19

Pekny clanok :)

Odpovědět
5.9.2014 10:19
...
Avatar
Ondřej Krsička:21.4.2016 21:38

Na co je tam ten objekt zamek? Zkusil jsem do lock dát new object() a to nefungovalo.

 
Odpovědět
21.4.2016 21:38
Avatar
rosatislav
Člen
Avatar
Odpovídá na Ondřej Krsička
rosatislav:27.2.2017 17:06

Pokud bys dal do lock new Object(), tak by ti to pokaždé vytvořilo nový objekt, tím pádem 2 vlákna by ti vytvářely 2 objekty, které nejsou stejné.

Takže pokud to dobře chápu,to vlákno, které jako první začne pracovat s objektem zámek, tak ho uzamkne, a tím pádem, dokud se neprovede celý výpočetní proces, tak jiné vlákno (které chce pracovat s objektem zámek) nebude moct pokračovat.

 
Odpovědět
27.2.2017 17:06
Avatar
Milan Lhoták:6.9.2017 17:28

není mi jasná 1 věc, Hotovost je proměná objektu a pro každej cyklus se vytváří nová hodnota ne, takže ty vlákna by se neměli nad ní potkat, a pokud se potkávají, tak by to pak mělo zas fungovat jen pro 1 průběh cyklu a pak již ne protože hodnota je 0.

 
Odpovědět
6.9.2017 17:28
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Milan Lhoták
David Hartinger:6.9.2017 19:11

Vlákna pracují se stejnou proměnnou. Když se stane, že se jedno uspí těsně za podmínkou, v pauze než se stihne probudit může druhé vlákno provést odečtení, a odečtení poté provede i první vlákno když pokračuje v běhu. Situace je podrobně popsána v článku, přečti si tuto pasáž případně znovu nebo si příklad vyzkoušej.

Odpovědět
6.9.2017 19:11
New kid back on the block with a R.I.P
Avatar
Milan Lhoták:16.9.2017 13:07

Aha já to asi blbě pochopil ten kod, tzn ve funkci VyberVlakny to vybírá 2x?
jednou vláknem "vlakno1.start" a podruhý přímo Vyber100?

No jde o to, že není hláška, když už nelze vybrat. takže na screenu máš jen úspěšný výběry v rámci tý smyčky v mainu.

 
Odpovědět
16.9.2017 13:07
Avatar
Odpovídá na David Hartinger
Patrik Pastor:11.6.2019 21:16

Nemel by se objekt "zamek" jmenovat spise "klic"? protoze mi moc nedava smysl neco zamykat zamkem (snad klicem ne). Takze by byla podminka lock(klic){}, kde si vlakno drzi svuj klic po dobu uzamceno, nez jej preda dalsimu vlaknu

 
Odpovědět
11.6.2019 21:16
Avatar
Odpovídá na Patrik Pastor
Michal Štěpánek:12.6.2019 8:12

Na jednu stranu by to dávalo smysl, ale objekt bývá buď zamknutý nebo odemknutý a nikoliv zaklíčovaný nebo odklíčovaný... Klíč je pouze nástroj k odemknutí zámku.

Editováno 12.6.2019 8:13
Odpovědět
12.6.2019 8:12
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Patrik Pastor:12.6.2019 8:15

slysel jsi nekoho pouzivat tyto slova? zaklicovany a odklicovany? Samozrejme chapu ze jde o ten zamek,.ktery.to vlakno drzi zamcene, jen srozumitelnejsi je parametru lock rikat klic (nic jineho se zamkem neoperuje). A je jasne, ze se bude rikat uzamceny a.odemceny

 
Odpovědět
12.6.2019 8:15
Avatar
Odpovídá na Patrik Pastor
Michal Štěpánek:12.6.2019 8:18

Máš sice pravdu, ale název klíč se v programování používá hlavně pro označení v databázích, tak možná, aby se to nepletlo se to jmenuje zámek...

Odpovědět
12.6.2019 8:18
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 14.