2012-10-25 38 views
5

Ich bin ein Neuling in der parallelen Programmierung in C++ Ich möchte einen Server (auf einer Linux-Box) basierend auf dem Thread-Pool-Muster, wo Threads lesen müssen (und nur lesen) von ein gemeinsam genutzter Speicher eingehende AnfragenC++ threadpool mit shared Nur-Lese-Speicher

ich bin sehr verwirrt :( ich frage mich zu beantworten, wenn etwas Fäden getan werden muss synchronisiert werden, wenn sie den nur-Lese-Speicher zugreifen und wie sie (mit Speicherkartendatei vielleicht tun?)

+1

pThreads ... http: //www.cs.nmsu.edu/~jcook/Tools/pthreads/library.html...to die Threads synchronisieren können Sie die Join-Methode verwenden, um den gemeinsamen Zugriff Erinnerung – subodh1989

Antwort

1

Wenn die Daten schreibgeschützt sind, müssen Sie die Lese-Threads nicht synchronisieren, sondern nur, wenn etwas geschrieben wird. Außerdem teilen Threads den Speicherplatz ihrer Eltern, so dass Sie kein Shared-Memory-Segment oder ähnliches erstellen müssen.

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

1

Ich kenne einen sehr guten Artikel über C++ 11 Multithreading - Read it . Im Teil 4 sehen Sie die Implementierung und Erklärung des gemeinsamen Containers.