想写个android及时通讯程序,服务端用NIO写的写完后是没问题
但我现在想读写异步,所以出现问题
若监测的读事件,放到读线程完成,但第二轮监测开始,又会监测到同样的读事件,想加锁,但是每次监测到key 后会实例化,加锁等同于无效,所以我想能不能有这几种方案:
1.接受到客户端请求后立即进入请求线程,然后读线程,最后写线程
2.进入读线程,读完后交给写线程。
上面两种都是跳过rend 或write监测,可行但我觉得失去NIO的意义了接着我想能不能实现这样的
3.key 可read 进读线程 读完之前 key都不可写,读完后key变为可写再经过selector 监测到写事件然后进入写线程,完成整个请求,但问题就出在异步后key的处理,好麻烦。
求各位大大支招,
能改变下我思维模式,行。
能给个3号方案实例,行。
能帮顶顶,也行。
------解决方案--------------------
1.接受到客户端请求后立即进入请求线程,放入读线程,也放入写线程
2.进行读线程的同时,写线程也可以进行。