Non sono sicuro di come gestire le attività asincrone in un programma che sto scrivendo e spero che qualcuno più esperto possa almeno indirizzarmi nella giusta direzione.Elaborazione parallela in linux
Sto eseguendo Angstrom Linux su un processore ARM incorporato. Il mio programma controlla diversi servi tramite PWM hardware esposto e una telecamera su PTP. Inoltre è il daemon socket che accetta i comandi da un client arbitrario (Android in questo caso). Il PTP della fotocamera è lento e non voglio aspettare che finisca il suo compito perché il resto del programma deve essere reattivo.
Ho provato i thread, ma eventuali problemi nel thread della fotocamera sembrano uccidere l'intero processo. Idealmente, voglio mandare la fotocamera da sola a fare le sue cose e quando è finita, sappia che la funzione principale lo sa. Si tratta di una tecnica di forking appropriata o ho implementato il threading in modo errato?
Inoltre, mi piacerebbe stare lontano dalle librerie secondarie di grandi dimensioni per evitare ulteriori problemi di compilazione incrociata, che ho già avuto. Grazie in anticipo per eventuali suggerimenti.
Perché non lo si esegue in un nuovo processo? Quindi comunicare tramite prese? – Hassan
Stavo usando la Programmazione Linux avanzata come mia guida ... non copre la funzione clone(). Sembra che la tecnica appropriata sia –
. Oppure potrebbe essere ['system()'] (http://www.cplusplus.com/reference/clibrary/cstdlib/system/). Dai un'occhiata anche a quello. – Hassan