Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
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 1 - Vlákna - Úvod do vícevláknových aplikací 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
pracansky
Člen
Avatar
pracansky:29.4.2015 23:29

Zkoušel jsem to a nuly a jedničky jsou skutečně ve skupinkách. Tvoje vysvětlení by bylo logické na jednojádrovém procesoru kde se vlákna musí přepínat. Já mám ale 4 jádrový procesor. Po spuštění jedou 2 jádra naplno což naznačuje že každé vlákno jede na jednom jádře a jedou tedy v pravém smysly slova současně. Potom bych tedy čekal že to bude výpis vypadat spíš nějak takhle 0101101100101­0110101. Napadá mě že ten popisovaný efekt je spíš nějaký vedlejší efekt vlastnost výpisu do konzole.

Máš nějaké vysvětlení na tuhle šťouravou poznámku? ;)

 
Odpovědět
29.4.2015 23:29
Avatar
Adam Ježek
Tvůrce
Avatar
Odpovídá na pracansky
Adam Ježek:12.12.2015 11:49

To že máš 4 jádrový procesor neznamená, že se vlákna nepřepínají. To by fungovalo pouze pokud by všechny ostatní programy a OS potřebovaly pouze 2 jádra na procesoru a ty zbylé 2 by byly jenom pro tebe. I na 4jádrových procesorech se vlákna přepínají, jenom né tak často jako na jednojádrovém.

Odpovědět
12.12.2015 11:49
Počkej chvíli, poradím se s křišťálovou koulí.
Avatar
Luboš Běhounek Satik:12.12.2015 15:46

Dokonce i jednovláknová aplikace přeskakuje mezi jádry :)

Odpovědět
12.12.2015 15:46
https://www.facebook.com/peasantsandcastles/
Avatar
Ondřej Krsička:21.4.2016 19:20

Davidovi se tam ty jedničky a nuly přepínají docela rychle. Mě se vypíšou čtyři řádky jedniček a pak až jdou nuly. Nevíte, čím je to ovlivněno? :) Mám dvoujádro.

Editováno 21.4.2016 19:21
 
Odpovědět
21.4.2016 19:20
Avatar
Lukáš Kún
Člen
Avatar
Lukáš Kún:7.6.2017 20:22

Pokud vím, tak Thread.Curren­tThread se váže opravdu na aktuální vlákno které zpracovává řádek, na kterém je Thread.Curren­tThread použitý. Zde se ale píše, že se tím dostaneme k hlavnímu vláknu aplikace, což mi přijde zavádějící, protože tak to přeci není. Pokud napíšu takovýhle kód:

for (int i = 0; i < Environment.ProcessorCount; i++)
            {
                int threadNumber = i;
                var thread = new Thread(() =>
                 {
                     for (int j = 0; j < 2; j++)
                         Console.Write(threadNumber + "\t"
                             + Thread.CurrentThread.Name + "\n");
                 });
                thread.Name = "Thread n.: " + threadNumber;
                thread.Start();
            }

Dostanu takovýhle výstup:

0       Thread n.: 0
0       Thread n.: 0
2       Thread n.: 2
3       Thread n.: 3
1       Thread n.: 1
1       Thread n.: 1
3       Thread n.: 3
2       Thread n.: 2

Což značí, že každý thread při výpisu Thread.Curren­tThread.Name vlastnosti vypisuje jméno sebe sama.

Nebo se pletu?

 
Odpovědět
7.6.2017 20:22
Avatar
drevpe
Člen
Avatar
drevpe:22.11.2021 16:26

Ahoj,
nemohli byste prosím dát do tohoto kurzu projekty k vyzkoušení? Tak nějak se bez toho nepohnu ...

 
Odpovědět
22.11.2021 16:26
Avatar
Petr Vocel
Tvůrce
Avatar
Petr Vocel:19.8.2022 20:17

Nelíbilo se mi označení Prepínač. Jedna se o vytvoření druhého, jeho spuštění (vedle) a pak pokračování v hlavním. Začátečníky může název trochu mást - nepřepínají mezi vlákny (to si dělá systém sám)

 
Odpovědět
19.8.2022 20:17
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 7 zpráv z 7.