IO线程:有Event loop的线程,每个线程有且有一个loop,用per thread变量记录这个loop的对象地址,如果这个变量非空可以知道这个线程是IO线程
Channel:绑定到一个且只能一个loop,即某个IO线程,负责文件描述符的IO事件分发,但不拥有这个fd,析构时不关闭fd,一般封装在具体的对象中
事件循环:从一次poll阻塞到另一次阻塞是事件循环, poll->IO handers->callbacks->poll