2009年2月6日星期五

Telnet命令执行器--BlockingQueue

.
昨天完成了DslamTelnetProtocol类,这个类实现了IResponseListener接口,用于对接收到的输入流进行实时的解析、处理。DslamTelnetProtocol这个类的名称也许改成...ProtocolFilter比较合适。
目前启动了一个线程处理telnet的输出。对telnet的输入还是在主线程中调用telnetConnection.send()实现的。下一步应该把输入也用另一个线程来处理。

TODO: 对设备发送的命令放到一个BlockingQueue commandQueue中。DslamTelnetProtocol解析获得的命令结果放BlockingQueue resultQueue中。BlockingQueue确实为生产者-消费者模式简化了很多代码。否则你自己必须封装一个合适的queue,对这个queue进行适当的同步保证并发性。而且需要很好的设计wait() notify()来进行线程之间的协调。