29/09/15 15:03
Postato originariamente da TheDarkJuster:
Dovrebbe essere il SO a prendersi la briga di deceidere se parallelizzare i thread su più core o meno
Dovrebbe essere il SO a prendersi la briga di deceidere se parallelizzare i thread su più core o meno
Ni ... si può fare la richiesta al sistema operativo di allocare thread/processi su core diversi esplicitamente. Il sistema operativo, ovviamente, poi decide in autonomia su cosa fare ...
in quando in C il concetto "core" non esiste.
Infatti ti ho detto che la faccenda è gestibile da API del sistema operativo, non dal C.
La soluzione proposta da nessuno non va bene, perchè quelle sono api di windows e su linux NON sono disponibili.
Su Linux userai
sched_setaffinity()
specifica per Linux.
Ti ritroveresti a scrivere una versione del programma per ogni SO
Quando si parla di queste caratteristiche, si imposta il codice in modo da utilizzare la compilazione condizionale ...
#if defined(WIN32) ....
Inoltre: con pthread_setaffinity_np() fai ciò che vuoi.
Sai cosa vuol dire np alla fine del nome di questa funzione?