• BiroAndras
    #111
    "Most meg hoztal egy negyedik dolgot, ahol meg kombinaltan multithreadre es SMP-re megirt alkalmazast futtatnak, ahol arrol targyal, hogy teljesitmeny elosztas celjabol a tread migralhato masik parent processhez."

    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. Miért kéne a parent process-t belekeverni a dologba???
    Valahol nagyon elbeszélünk egymás mellett.

    ""... 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. Tübb szálon kell futnia egy proginak ahhoz, hogy egy többprocis rendszer EGYIK prociját használja???
    Az egyik progi az egyik procin a másik a másokon fut és kész. Ez akár DOS progi is lehet, ami a thread fogalmát sem ismeri.

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

    Jó, és?

    "Tobbszalu programozas celja, hogy egy alkalmazason belul parhuzamos feladatokat szeparaltan tudjal futtatni."

    Persze.

    "Legyen itt egy konkret problema: van egy media encoder programod ahol kalkulaciot kell vegezni, ill. a kepernyon egy folyamatjelzo savot leptetni kell, hogy a kedves juzer lassa, hogy hol tart. A gond az, hogy itt a fociklusod masodpercenkent lefut n-szer (pl: n=1000000). Egy GUI frissites kb egy ezredmasodpercet vesz el a futasidobol. (t=0.001s) Ha a ket eltero feladatot egy szalon programozod le akkor a folyamatjelzot minden ciklus elejen/vegen frissitened kell. Kerdes: kell a gui-t masodpercenkent millioszor frissiteni? Szorozd ossze a ket szamot."

    Le lehet osztani a ciklust. Pl. minden 1000. iterációban frissítek. Nem ez a gond, hanem az, hogy a ciklusmagban nem tudsz GUI frissítést hívni. Illetve főképpen nem tudsz user input-ot feldolgozni (tehát pl. a user nem tudja megszakítani a folyamatot).

    "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 (erről szól az idézet). Persze ha a HW és az OS is támogatja. Nyílván, ha a prociknak fizikailag külön RAM van, akkor ez nem müxik.