• VO101Tom
    #51254
    Egen, a programozás még mindig nagyon más, mint a kapálás. Ha a krumpliföldre kiviszel 4 ember helyett 16-ot, azok valszeg negyed annyi idő alatt végeznek. A többmagos procikkal nagyon nincs így, ha egy processzor elindít egy programot, szálat, vagy nevezzük aminek akarjuk, annak a futását nem egyszerű megosztani másik processzor maggal, mert honnan tudná a második mag, hogy mit kell neki számolnia, milyen adatokból induljon ki és mit kezdjen a kiszámolt értékekkel (nagyon kis elemekre bontott gépi kódról beszélünk, ahol már a közös memóriacímek használata is problémás lehet). Ha a programszál futásában vannak elágazások, azokat az elágazások szálait át tudja venni másik mag, de ott megint komoly programozást igényel, hogy mit kezdjen a kiszámolt értékkel, azt hol tárolja, meddig van arra az adatra szükség, és honnan ismeri fel az első mag, hogy az átadott szálat a második már kiszámolta és a kijelölt memóriacímen nem valami korábban odatett dolog van, amire neki nincs szüksége. Az emberek általában csak addig jutnak el, hogy "miért nem számolja több magon, hiszen ott vannak, nem csinálnak semmit", de abba nem gondolnak bele, hogy ha ők kapnának egy matekpéldát, aminek csak egyik felét látják ők, másik felét a padtársuk, akkor abból milyen megoldások jönnének ki?