• rigidus
    #113
    "Még mindíg nem magyaráztad el, hogy miért ne lehetne simán csak szálakat használni."
    Thread.

    Ezert:
    "A thread is the "lightest" unit of kernel scheduling. At least one thread exists within each process."

    Es ezert:
    Threads do not own resources except for a stack and a copy of the registers including the program counter.

    Hogyan fer akkor hozza a memoriahoz? Hogyan fogja ertelmezni a kernel? Vizualisabban juzer szemmel: Mit fogsz latni a "task manageredbe"? Mesztelen szalat process helyett?? (egyebkent sem mutat szalakat)

    Szalakat nem tudsz migralni egyik CPU-rol a masikra ha nincs legalabb egy process instance a target CPU-n.A szal nem tud eroforrasokat birtokolni anelkul, hogy lenne a se33e alatt legalabb egy process.

    "Lehet, hogy valami fogalmi keveredés ven itten?"

    Igen, az van.

    "Tehát a thread és a process közt az a különbség, hogy a thread-eknek lehetnek közös erőforrásaik (pl. memória), a process-eknek meg nem.

    Pont ez az, hogy nem. Eleg nagy gaz lenne. Ha igy volna akkor a processek nem lennenek kepesek adatcserere.

    Tehát szó nincs arról, hogy az azonos process-hez tartozó thread-eknek ugyanazon a procin kéne futniuk."

    Tehat szalat akarsz futtatni egy CPU-n process nelkul?? Hogyan fernel hozza az eroforrasokhoz?

    "Hol jön be új dolog? Én eddig is arról beszéltem, hogy 2 threadet lő fel a progi, és az OS szépen kiosztja őket 1-1 CPU-ra.

    Meg a turot oszt szet. Na eppen ez a baj, hogy errol beszelsz.

    Ha a parent process nem forkol legalabb egy child processt a target CPU-ra a szal migralasa elott, akkor az a "progi" nem fog semmit oda "felloni".

    "Miért kéne a parent process-t belekeverni a dologba???

    Hat eppen ezert.

    ""... ahhoz nem kell egyiknek se több szálon futni."
    Na itt vannak a bajok. Ez mar egy {Tema 3.}"

    Nem értem mi a gond.


    Az, hogy a mondatod elejevel egybeolvasva az egesz ertelmezhetetlen.

    "A multithreaded programming es a multiprocessed programming ket kulonbozo dolog."

    Jó, és?


    A valaszom stilszeruen csak ennyi:

    Futtathatsz több CPU igényes progit egyszerre, ahhoz nem kell egyiknek se több szálon futni.


    1. Tobb szal != tobb process.
    2. Kivetel nelkul minden program "CPU-igenyes".
    3. CPU-k kozotti elosztott szamitasrol volt szo nem pedig feladatok parhuzamos futtatasarol.
    4. A srac hol beszelt szalakrol?

    "Nem ez a gond, hanem az, hogy a ciklusmagban nem tudsz GUI frissítést hívni."

    Csodas. Itt maris szuletett egy ujabb gyongyszem, ahol az elotte allo ket mondatod meg eppen ezt cafolja:

    "Le lehet osztani a ciklust. Pl. minden 1000. iterációban frissítek."

    "SMP-t meg ott alkalmaznak ahol a hardver lehetove teszi egyetlen alkalmazas elosztott szamitasat tobb CPUn."

    Na, én erről beszélek. De nem értem, hogy mi a problémád. Ehhez nincs szükség külön process-re, elég csak külön thread"


    NEM LEHET! Process nelkul nincs szal! Ennyi.

    Az idezet meg nem errol szol. Az egy osszehasonlitas a processek es threadek termeszeteben.