Boost Multithreading Tutorial

March 4

Se si esegue una quantità seria di programmazione C ++, hai sicuramente incontrato la libreria Boost. E 'così popolare che molte delle sue librerie vengono presi in considerazione per l'inclusione nella serie della prossima C ++. Molte aziende includono Boost nelle loro basi di codice C ++ come una questione di corso - è quasi considerato una seconda libreria standard. Se stai usando Boost, l'aggiunta di multithreading per il vostro programma è facile. Come bonus aggiuntivo, il codice multithreading sarà più portabile se si fa.

istruzione

1 Definire una funzione che farà il lavoro del filo. Si dovrebbero prendere argomenti e restituire void. Ad esempio, scrivere:

lavoratore void () {

do_thread_stuff ();

}

2 Creare un oggetto thread nella funzione in cui si desidera avviare il thread. Aggiungere questo codice:

my_thread = boost :: shared_ptr <boost :: filo> (nuovo boost :: filo (di lavoro));

3 Attendere che il filo per terminare l'esecuzione. Farlo scrivendo:

my_thread-> join ();

Consigli e avvertenze

  • Eseguire più thread contemporaneamente per migliorare le prestazioni su computer multicore.
  • Quando la manipolazione di strutture di dati nei programmi multithread, essere sempre attenti a garantire che le modifiche apportate da diversi thread non saranno in conflitto con l'altro. programmi multithread possono essere alcuni dei più difficili da ottenere.