単純なバージョンのTCPを実装していますが、マルチスレッド技術が不足しています。メインスレッドは2つのサブスレッドを制御します。
1.タイマー(時間をカウントダウンし、タイムアウトした場合は、メインスレッドに再度ジョブを実行するように通知します)
2.着信パケットをリッスンし、永久ループします。パケットを受信した場合は、メインスレッドのデータを更新します
メインスレッドは、特定のシグナルが発生したときにアクションを実行する必要があります。
私はイベント処理の経験がなく、メインスレッドに通知するためのシグナルを設計しています。どこから始めればいいですか?たとえば、サブスレッドはメインスレッドのプライベートフィールドを更新します。または、イベントを作成する必要がありますか?
メインスレッドの擬似コードは次のとおりです。
while(true){
event: send data ,then ...
event: timeout , then send packet again
event: packet received, then update data in private filed
}