honny
04-11-2004, 10:09
domanda idiota...
da quello che ho potuto capire scrivendo un programma normalmente, supponiamo in C, utilizzando la classica forma main + funzioni , in pratica il so "crea" un singolo thread che viene eseguito, per cui anche avendo piu' processori il compito dell' esecuzione sara' assegnato ad uno solo di essi .
volendo sfruttare anche gli altri processori dovrei creare piu' threads. ( ? )
1)per esempio mi basta su *nix utilizzare delle fork ?
cioe' una fork mi assicura "automaticamente" una applicazione che puo' sfruttare piu' processori ?
2) ho visto che SDL tra le varie potenzialita' ha anche questo : http://sdldoc.csn.ul.ie/thread.php
essendo indipendente dalla piattaforma mi garantisce lo stesso comportamento su so diversi ? ( indipendentemente da come il so gestisce i threads )
3)mi devo preoccupare io io in qualche modo oltre che della creazione di piu' threads di altro che il so non puo' fare autonomamente ?
4)avre piu' threads mi assicura di poter sfruttare piu' processori oppure non e' la giusta via ?
5)dove trovo degli esempi pratici in c molto elementari ?
da quello che ho potuto capire scrivendo un programma normalmente, supponiamo in C, utilizzando la classica forma main + funzioni , in pratica il so "crea" un singolo thread che viene eseguito, per cui anche avendo piu' processori il compito dell' esecuzione sara' assegnato ad uno solo di essi .
volendo sfruttare anche gli altri processori dovrei creare piu' threads. ( ? )
1)per esempio mi basta su *nix utilizzare delle fork ?
cioe' una fork mi assicura "automaticamente" una applicazione che puo' sfruttare piu' processori ?
2) ho visto che SDL tra le varie potenzialita' ha anche questo : http://sdldoc.csn.ul.ie/thread.php
essendo indipendente dalla piattaforma mi garantisce lo stesso comportamento su so diversi ? ( indipendentemente da come il so gestisce i threads )
3)mi devo preoccupare io io in qualche modo oltre che della creazione di piu' threads di altro che il so non puo' fare autonomamente ?
4)avre piu' threads mi assicura di poter sfruttare piu' processori oppure non e' la giusta via ?
5)dove trovo degli esempi pratici in c molto elementari ?