对于Java中使用thrift,其服务模式如下:
1.阻塞服务模型:TSimpleServer、TThreadPoolServer。
TSimpleServer的工作模式采用最简单的阻塞IO,实现方法简洁明了,便于理解,但是一次只能接收和处理一个socket连接,效率比较低。它主要用于演示Thrift的工作过程,在实际开发过程中很少用到它。
TThreadPoolServer模式采用阻塞socket方式工作,主线程负责阻塞式监听是否有新socket到来,具体的业务处理交由一个线程池来处理。TThreadPoolServer在构造函数中创建工作线程池,用executorService_来处理RPC请求,根据args参数判断用户是否自己设置了线程池,如未设置,就根据传递进来的参数创建线程池,使用ThreadPoolExecutor创建 。其构造函数:
public TThreadPoolServer(Args args) {
super(args);
stopTimeoutUnit = args.stopTimeoutUnit;
stopTimeoutVal = args.stopTimeoutVal;
......
executorService_ =</