线程池
我们已经有了一个Looper类表示事件循环,且每个线程只能有一个Looper,现在我们把Looper和线程绑定在一起,成为一个新的类LooperThread
创建该类也就创建了一条新线程,然后该线程上运行着Looper。我们把这些线程都交由线程池管理,也就是ThreadPool
Reactor
实际上这并不是纯粹的Reactor模式,更应该称之为半同步半异步模式。
我们有一个主线程以及线程池中的N个线程,主线程只负责监听socket,所有的connect请求都有主线程处理。当有新连接到来时,主线程接受并建立连接。
连接建立后,主线程会从线程池中选择一个线程,将连接分配给该线程,以后该连接上的所有请求都只有该线程处理。
抽象连接Connection
为了方便管理,我们把TCP连接抽象成一个类