Ich entwickle eine Instant-Messaging-Anwendung.pthread anders als warten und signalisieren
Dies ist die Situation, die ich Hilfe brauche: Eine Routine in meinem Code fgets() die Nachricht, die der Benutzer eingegeben hat. Jetzt muss ich einen Thread aufwecken, der eine Routine hat, um die Nachricht an den Sockel usw. zu senden. Ich bin nicht wirklich sicher, wie das geht.
Wenn ich einen Mutex verwende: Ich möchte nicht, dass mein erster Thread jemals wartet. Daher möchte ich das nicht verwenden. Ähnlich kann ich cond_variable nicht verwenden.
Bitte sagen Sie mir, wie Sie das bekommen.
Denken Sie nicht darüber nach. Die Zeit, die Ihre zwei Threads verbringen werden (a) warten auf Benutzereingaben und (b) übertragen über das Netzwerk sind EONS verglichen mit dem, was Sie sich vorstellen, dass ein Mutex/Condvar kostet. – Duck
Warum können Sie keine Zustandsvariable verwenden? Bedingungsvariablen sind * entworfen * um einen Thread aufzuwecken, wann auch immer ein Ereignis auftritt, so dass sie hier ziemlich nützlich sein können. –