Mi szállogat el? Az x-array0-nak el _kell_ szállnia (előbb-utóbb), a többinek elvileg nem szabadna.
"Viszont azt kitartóan nem értem, hogy miért nem használják ki a több magot."
Tudjuk-e biztosan, hogy a többmagos processzor==több processzor? Én nem tudom. Azt se tudom, hogy többprocesszoros gépen mindig magától kihasználódik-e minden CPU.
Egyprocesszoros gépen az a helyzet, hogy a tesztelési célokhoz képest túl ritkán vált az ütemező a különböző szálak között (Solarison különösen ritkán). Ezért van a programokban itt-ott egy-egy sleep(1), mert abból rájön az ütemező, hogy váltani lehet. Emiatt a CPU kihasználtság nem maximális. A sleepekkel talán érdemes kísérletezni.
A threads.exe esetében a teszt célja csak annyi, hogy nem fogynak-e el a threadid-k. Detach és join nélkül elfogynának. Azonkívül az is látszik, hogy 64 bites rendszeren a threadid-k 64 bitesek, tehát csak P típusú változóban lehet őket tárolni.
--
CCC3