2012-10-25 17 views
5

Sono un principiante nella programmazione simultanea in C++ Voglio codificare un server (su una finestra Linux) in base al modello di pool di thread in cui i thread devono leggere (e solo leggere) da una memoria condivisa per rispondere alle richieste in arrivothreadpool C++ con memoria di sola lettura condivisa

sono molto confuso :( mi chiedo se qualcosa deve essere fatto per sincronizzare le discussioni quando accedono al memoria di sola lettura e come farlo (utilizzando file di mappa della memoria forse?)

+1

pthreads ... http: //www.cs.nmsu.edu/~jcook/Tools/pthreads/library.html...to sincronizzare i fili è possibile utilizzare il metodo join per l'accesso condiviso memoria – subodh1989

risposta

1

Se i dati sono di sola lettura, non è necessario sincronizzare i thread di lettura, lo si fa solo se qualcosa sta scrivendo. Inoltre, i thread condividono lo spazio di memoria dei genitori in modo da non dover creare un segmento di memoria condivisa o qualcosa del genere.

http://en.wikipedia.org/wiki/Thread_safety

1

Conosco un ottimo articolo sul multithreading C++ 11 - Read it . Nella parte 4 vedrai l'implementazione e la spiegazione del contenitore condiviso.