- Szabadulnak a kínai eszközöktől az amerikai szolgáltatók, de ez sokba kerül
- Irányíthat-e atomfegyvereket az AI?
- 5 év alatt 100 milliárd dollárt költött fejlesztésre az Apple, az AI a következő
- Az Insta360 ellen fordítja a hatóságokat a GoPro
- Sokat fogyaszt az AI, egyre több az adatközpont, kell az atomenergia
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Milyen routert?
- Jelszókezelők
- Kék halál (BSOD)
- Szabadulnak a kínai eszközöktől az amerikai szolgáltatók, de ez sokba kerül
- Irányíthat-e atomfegyvereket az AI?
- Netflix
- Mozilla Firefox
- macOS PC-re
- Mindenki AI-t akar, már 2025-re is eladták a HBM chipeket
Új hozzászólás Aktív témák
-
válasz ReSeTer #9827 üzenetére
Bontsuk kétfelé a kérdést. Vagy amit megértettem belőle:
1,
Akarsz valami UI-t csinálni, ami user inputra reagál, csinál valamit és visszajelzést ad.
Nem tudod hogyan kéne a UI-t létrehozni, strukrurálni, úgy hogy aztán később "egy másik metódustból" hozzáférj adott UI elemekhez?
UI-hoz nem szólok hozzá.2,
Van egy fő végrehajtási szálad és nem tudod hogyan kéne egy "jól definiált feladatot" nem a fő szálon végrehatjani hanem onnan a háttérbe delegálni úgy hogy a háttérben az megtörténjen, mellékhatásokat tudjon létrehozni, pld üzenetet tudjon küldeni vagy mondjuk meglegyen a visszatérési értéke?A "jól definiált feladatodat" ki kell szervezned. Legegyszerűbben egy metódusba amire aztán hivatkozni tudsz.
void Something(p1, p2, ..) { .. }
aztán ezt ahelyett hogy a fő szálon meghívnád ezt a Something(..)-et, delegálod a végrehajtását a threadpoolnak. Ezt a Task.Run(..) nal teszed meg és paraméterként átadsz egy delegate-et amelyik hivatkozik a metódusodra.
Tehát a fő szálon ahonnnan delegálsz :
p1 = ...;
p2 = ...;
var t = Task.Run(() => Something(p1, p2, ..))
// fő szál nincsen blokkolva, a 't' visszatérési érték referencia a Task objektumra amibe a delegált feladatod csomagolva lett.Ebben a példában a "Something" egy visszatérési érték nélküli metódus, tehát mellékhatásokkal operál.
Ha azt szeretnéd, hogy egy másik kódrészlet értesítést kapjon a "Something"-ben történtekről, pld hogy az éppen hol tart, akkor ezt a Something-nek átadott paramétereken kerszül tudod legegyszerűbben megtenni. Paraméterként átadsz egy delegate-et amit a "Something" fel tud hívni mintegy üzenve a külvilágnak.
pld átadsz neki egy Progress<T>-t paraméterként ezen keresztül pedig a Something vissza tud jelezni a Progress<T> gazdájának. (A Progress<T> egy Action<T> delegatet csomagol be, UI kompatibilis módon.)
Something(p1, p2, .., IProgress<int> progress)
{
progress.Report(0);Thread.Sleep(1000) // CPU work
progress.Report(50);Thread.Sleep(1000) // CPU work
progress.Report(100);
}[ Szerkesztve ]
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Poco M3 - felújított állomás
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Xbox tulajok OFF topicja
- Mini-ITX
- Android alkalmazások - szoftver kibeszélő topik
- Villanyszerelés
- Milyen TV-t vegyek?
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Milyen routert?
- Képeken az egyik kameráját elvesztő Sony Xperia 10 VI
- További aktív témák...
- Lenovo 4. generációs i3-4130 sff pc, 16GB vagy 32GB rammal
- Új Bontatlan Univerzális monitorállvány, 17-27'' , VESA 100x100/75x75 UNOXAR UX-MDS-10
- HP pro 6300 SFF i5-3470 16GB vagy 32GB Rammal
- Hófehér Toshiba 15,6"HD,4magosIntel!4x2,2Ghz,IntelHDVga,SSD,szép állapot
- ThinkPad 13,3" FullHd IPS,10.gen.core i5(8x4,2Ghz),Vil.bill.8GB DDR4,512GB SSD,Jó akku, jó állapot
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen