我正在实现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
}
你做了什么研究?你看过什么网络资源? – Gray
@Grey http://docs.oracle.com/javase/tutorial/essential/concurrency/pools.html和Excutor接口,BlockingQueue接口 – CodeFarmer