Wie verwenden Sie printf() in mehrere threads

Ich bin Implementierung einer Multithread-Programm, das mit verschiedenen Kernen, und viele threads gleichzeitig ausgeführt werden. Jeder thread stellt eine printf() nennen, und das Ergebnis ist nicht lesbar.

Wie kann ich printf() atomaren, so dass eine printf() Aufruf in einem thread nicht in Konflikt mit einem printf() Gespräch in einer anderen?

nicht sicher, was Sie sagen wollen. Aber Wie kann ich es tun, ohne einen libraray, ich meine, wie Sie mithilfe von Semaphoren etc..
Wie über das erstellen einer printf Verpackung-Funktion und mit einem mutex?
Definition von "Konflikt". printf ist "atomic" in dem Sinne, dass Sie bedeuten, aber es kann nicht aufhören, mehrere threads schreiben auf den gleichen Ausgang Ziel.
Nicht sicher, was Sie sagen, ist wahr. Ich dachte, dass der Puffer von printf können beeinflusst werden durch andere threads
Zeigen Sie ein code-Beispiel, das veranschaulicht das problem. Wie @Duck, ich habe nie gesehen, dass zwei printf schreibt vermischt.

InformationsquelleAutor user3242743 | 2014-05-10

Schreibe einen Kommentar