Ich habe gehört, es ist Thread unsicher zu tun "global_variable + = individual_thread_data"; zum Beispiel [ohne Sperren].Ist es threadsicher, eine Variable zu ändern, ohne vorhergehende Daten zu berechnen?
Aber ist es threadsicher wenn man nur "global_variable = individual_thread_data" in jedem Thread ausführt?
Ok, ich legte einen Mutex-Code (von pthreads) um die globale Variable. Es sollte genug sein, denke ich. Danke für den Tipp [von 'volatile'], ich denke, es sollte für mutexed Variablen üblich sein. –
Nein, Sie müssen nicht flüchtig verwenden, wenn Sie Mutexe verwenden. 'pthread_mutex_lock()' und 'pthread_mutex_unlock()' müssen notwendigerweise als Compilerbarrieren wirken. – caf