我正在实现 TCP 的简单版本,但缺乏多线程技术。主线程控制2个子线程:
1. timer(倒计时,如果超时,通知主线程再做一些工作)
2.监听传入的数据包,永远循环。如果收到数据包,则更新主线程中的一些数据
当某个信号发生时,主线程应该采取行动。
我没有事件处理的经验,并设计了一些信号来通知主线程。我应该从哪里开始?例如,子线程更新主线程私有字段。或者我应该创建一些事件?
这是主线程的一些伪代码:
while(true){
event: send data ,then ...
event: timeout , then send packet again
event: packet received, then update data in private filed
}