Kezdőoldal » Számítástechnika » Programozás » Ha c# nyelvben megírok egy...

Ha c# nyelvben megírok egy programot amiben nem használom a parallel névtérben levő osztályokat akkor a programom alpból egy magon egy szálon fog futni még akkor is ha a gépem nyolc magos?

Figyelt kérdés
2015. febr. 6. 19:17
 1/8 anonim ***** válasza:
Hát igen. Maga a kernel nem tudja eldönteni, hogy a kódod mely részét lehet szétpakolni külön magokra; te fogod forkolgatni a child-okat magadnak szépen.
2015. febr. 6. 19:19
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:
Azt akarom megtudni,hogy ha a gépem nyolc magos és ha magonként 4hz működik akkor a programom csak egy magon fog futni szóval 4hz en. Nekem kell tennem azért hogy a programom ki tudja használni a processzort rendesen a nagyobb sebességért?
2015. febr. 6. 19:19
 3/8 A kérdező kommentje:
Te fogod forkolgatni a childokat ez mit jekent?
2015. febr. 6. 19:21
 4/8 anonim ***** válasza:

NEM az elöző válaszoló vagyok, de szerintem ez:

[link]

2015. febr. 6. 19:23
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:

Igen, minden program alapból egy szálon fut, egész addig, amíg nem mondod, hogy párhuzamosítható.

Az első válaszolónak:

A .NET alatt sokkal egyszerűbb ez, lásd:

[link]

2015. febr. 6. 21:10
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:
A C#-hoz tartozik egy szemétgyűjtő szál is, tehát elvben ha olyan az operációs rendszer kedve, akkor azt futtathatja külön magon.
2015. febr. 6. 21:38
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:

Csináltam egy "üres" console appot, a task manager szerint az 3 szálat futtat. Egy üres WinForms app pedig 7 szál lesz (release módban, futtatva)

Persze ez nem azt jelenti, hogy a te kódod fog futni több szálon... Hanem pl amit már előttem említettek.

Ha te írsz egy hosszan futó - mondjuk valami algoritmust, ami számol vmit - kódot, akkor az egy szálon fog futni.

2015. febr. 7. 10:25
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:

.NET esetében a .net fog több szálon futni - a háttérben futó virtuális gép, amin majd fut a te progid.


De ettől még a te programod nem fogja tudni kihasználni a multithread előnyeit, (és hátrányait, ha nem tervezel, ügye :D ) ha nem úgy írod meg.


Szóval igen - ha írsz egy programot (bármilyen nyelven) alapból egy szálon fog futni, tehát egy magot fog használni.


Pont ez a baj rengeteg játékkal, hogy hiába van a gépedbe nyolc mag, ha úgy írták meg, akkor bizony egyetlen magot használ ki (ez pláne régebbi játékoknál fájó pont, mert előfordulhat, hogy egy jó pár éves játék akadni fog, mert maga a CPU esetleg lassabb, bár több magos).

2015. febr. 7. 20:11
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!