想做一个selector+线程池的读数据的系统,但是想到了个很大的问题:
当收到OP_READ信号时候,发配任务让线程池去读数据,这时候数据可能还没读完,下一轮的select()又开始了,因为之前的那个channel还没读完,于是又会收到一个OP_READ的信号,虽然我可以控制这次不再发配任务给线程池,但是这段时间select()会无形中变成了非阻塞,严重影响到系统的性能。该如何解决啊?