Saj v osnovi maš prav, samo program ne "da kontrole OSu". Vsak OS, ki dovoli, da ga en program obesi, je po definiciji zanič OS. To so bili vsi win 9x. Vsak win program ima tako imenovani main loop, v katerem se procesirajo UI eventi. Ko klikneš na gumb, se sproži event, potem se pa vrne v main loop in procesira ostala sporočila. Če se pa ob kliku sproži časovno intenzivna operacija, pa se procesiranje ostalih sporočil ustavi in zgleda, kot da je program zmrznil.
Časovno intenzivne operacije, bi se morale izvajati v svoji niti, da se main loop sprosti za procesiranje sporočil. Samo program lahko zmrzne tudi v tem primeru, le da tega windowsi ne prikažejo. V task managerju pa vidiš, da ti kuri 50% cpu v primeru dvojedrnika, oz ustrezno za večjedrnike.
Časovno intenzivne operacije, bi se morale izvajati v svoji niti, da se main loop sprosti za procesiranje sporočil. Samo program lahko zmrzne tudi v tem primeru, le da tega windowsi ne prikažejo. V task managerju pa vidiš, da ti kuri 50% cpu v primeru dvojedrnika, oz ustrezno za večjedrnike.