Sei sicuro di volerlo fare? Tipo, che problema stai cercando di risolvere? Se si desidera utilizzare tutti i core, utilizzare i thread. Se vuoi un risolutore di sudoku veloce, posso dartene uno che ho scritto, vedi l'output qui sotto. Se vuoi lavorare per te, vai avanti e usa GCD;).
Aggiornamento:
Non credo GCD è male, semplicemente non è terribilmente rilevante per il compito di risolvere i sudoku. GCD è una tecnologia per legare gli eventi della GUI al codice. In sostanza, GCD risolve due problemi, uno strano in che modo MacOS X aggiorna le finestre e fornisce un metodo migliorato (rispetto ai thread) di legare il codice agli eventi della GUI.
Non si applica a questo problema perché il Sudoku può essere risolto molto più velocemente di quanto una persona possa pensare (a mio modesto parere). Detto questo, se il tuo obiettivo era risolvere Sudoku più velocemente, dovresti usare i thread, perché vorresti usare direttamente più di un processore.
[[email protected] scripts]$ time ./a.out ..1..4.......6.3.5...9.....8.....7.3.......285...7.6..3...8...6..92......4...1...
[----------------------- Input Data ------------------------]
*,*,1 *,*,4 *,*,*
*,*,* *,6,* 3,*,5
*,*,* 9,*,* *,*,*
8,*,* *,*,* 7,*,3
*,*,* *,*,* *,2,8
5,*,* *,7,* 6,*,*
3,*,* *,8,* *,*,6
*,*,9 2,*,* *,*,*
*,4,* *,*,1 *,*,*
[----------------------- Solution 01 ------------------------]
7,6,1 3,5,4 2,8,9
2,9,8 1,6,7 3,4,5
4,5,3 9,2,8 1,6,7
8,1,2 6,4,9 7,5,3
9,7,6 5,1,3 4,2,8
5,3,4 8,7,2 6,9,1
3,2,7 4,8,5 9,1,6
1,8,9 2,3,6 5,7,4
6,4,5 7,9,1 8,3,2
real 0m0.044s
user 0m0.041s
sys 0m0.001s
Grazie! Penso che continuerò con il mio approccio attuale! –