C# async/await: nem az a lényege, hogy az async method-ok párhuzamosan fussanak egymással?
Próbáltam ezt is megérteni, plusz írtam is egy kis programot.
Thread.Sleep()-et használtam, lehet, hogy ez a probléma?
A lényeg az, hogy nem annyi ideig futott a progim, mint a leghosszabb Thread.Sleep() várakozás, hanem mint a 3 összege. (3 metódust hívtam így). Tehát végeredményben egymás után futottak és nem egyszerre.
Értem, hogy a Thread.Sleep() a current thread-et blokkolja, de nem az az async lényege, hogy a háttérben új thread indul, csak "elfedve", tehát nekünk csak az async-await-re van dolgunk?
A metódusba, ahonnan hívtam ezeket, egyéb kódot is tettem és kiíratást a standard output-ra, de azok se jelentek meg addig, amíg a 3 X Thread.Sleep() ideje le nem telt.
Légyszi segítsetek, mert nagyon fontos lenne megértenem, suliban (ha lesz pénzem maradni) 2 év múlva tanuljuk, akkor se ezt, ha rákeresek, akkor csak még jobban összezavarodok.
Kipróbáltam totál máshogy is és semmiféle Thread.Sleep() nincs benne és azt látom, hogy egymás után futnak a dolgok, bevárják egymást, akkor mi az egész lényege?
Ilyesmit csináltam most legutóbb, egyik csak kiír a konzolra, a másik számjegyeket megfordít, a harmadik megint hosszabban fut.
És egymás után mind. :(
Nekem aztán semmilyenre.
Sok sikert.
Olyan mindegy nekem is, mert úgyse jutok semmire ebben a szakmában.
Azért köszöntem a nagy semmit.
"És egymás után mind. :("
Miért, hogy kéne futniuk?
Minden taszk, vagy thread kap egy időszeletet. A feldsolgozás szekvenciális. Egyszer az egyik thread kap időt, aztán a másik és így tovább. Körbe-körbe. A thread-ek prioritását lehet változtatni és akkor a magasabb prioritású több időszeletet kap. A sleep megakasztja a thread futását, addig a többi fut. De egyszerre -egy magon- egy taszk vagy thread fut csak.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!