Kezdőoldal » Számítástechnika » Programozás » Elmagyaráznád, hogy C#-nyelvbe...

Elmagyaráznád, hogy C#-nyelvben hogyan írhatok olyan programot ami nem csak egy szálon fog futni?

Figyelt kérdés

Ha két magos akkor dolgozzon rajta kettő ha négy akkor négy ha nyolc akkor nyolc és így tovább és tovább.


Mivan akkor ha egy függvénynél elérik azt,hogy több szál hajtsa végre a tartalmát és ha ebben a függvényben van egy olyan for ciklus ami szintén úgy van megvalósítva,hogy a tartalmát több szálon hajtsa végre a gép akkor mi történik?Vagy ebben az esetben semmi értelme egy ilyen többszálon futó függvényen belüli többszálon futó ciklust írni?


Egyszerűbben?

Mi van akkor ha egy függvényt amit a gép több szálon hajt végre tartalmaz egy olyan ciklust amit szintén több szálon hajt végre a gép.És mi van akkor ha csak a függvény fut le több szálon a benne levő ciklus pedig nem ilyen többszálú fajta csak sima for.


Értitek?:)

Kössz,hogy elmagyarázod cserébe adok zöld kezet.


2014. máj. 4. 22:49
 1/4 anonim ***** válasza:

Hát én értem, csakhogy ez nem így működik.


javasolnám ezt:

[link]


illetve, hogy addig ne vágj bele ebbe, amíg legalább halvány fogalmad nincs az egészről

2014. máj. 4. 23:06
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

Na és ez?

[link]


Itt a ciklus tartalmán annyi szál fog dolgozni ahány magos a gépem?

2014. máj. 5. 03:31
 3/4 anonim ***** válasza:

> annyi szál fog dolgozni ahány magos a gépem?


Empirikus módon megállapítva az a jó, hogyha a szálak száma a magok számának kétszerese.

A feladatok kiosztása és a szálak kezelése is erőforrásba kerül, így előnyös ha mindig van egy szabad feladat egy feldolgozóegységre.


Nem feltétlenül jó megoldás egy ciklus minden iterációját külön szálra tenni. Bár a szál kisebb súlyú mint egy process de így is kezelni kell. Ez néha többletköltséggel jár.


A párhuzamosítás legfontosabb feltétele az inkoherencia.

Tehát az szála között semmilyen összefüggés nem lehet, ha egy ciklus minden iterációt egy szálra teszed, nem biztos, hogy sorrendben történik a végrehajtatás.


Bővebben:

[link]

2014. máj. 5. 17:18
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

épp egy többszálú programot reszelgetek ma...

van egy ilyen ciklusom...


for (int i = 0; i < threadCount; i++)

{

AsyncProcessBlock(blablabla);

}


és amit meghív, az így néz ki:


async void AsyncProcessBlock(paraméterek)

{

await Task.Run(() =>

{

Process(param, param);

});


}


íme, a threadCount változó értékétél függ, hogy hány szálon fog lefutni a programom...valami ilyesmire gondoltál?

2014. máj. 10. 22:30
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!