首页 > 代码库 > .net Thrift 之旅 (二) TServer

.net Thrift 之旅 (二) TServer

上一次做了一个简单的HelloWorld程序,但是只是简单的调用是远远不够的,还是要不断深入了解Thrift。

这回了解一下服务端的TServer

首先在命名空间Thrift.Server下,有3种Server 

首先TSimpleServer,就是单线程的服务,每次同时只能处理一个连接,意思就是不支持并发

THreadedServer,就是多线程服务,每次请求创建一个连接。这样有个问题就是比较耗cpu

THreadedServer,就是基于线程池的服务,可以设置连接池最大线程池。有池就不会每次连接都创建连接,可以提高性能。

举个例子

1.服务端使用TSimpleServer,开启服务

2.客户端open()连接口,不要关闭

 transport.Open();            DateTime begin = DateTime.Now;            var users = client.GetAllUser();            DateTime end = DateTime.Now;            Console.WriteLine(string.Format("cost {0} ms ", (end - begin).TotalMilliseconds));            //transport.Close();

3.打开2个客户端

你会看到第二个客户端一直在等待,当你关掉第一个客户端后,第二个客户端就继续执行了

THreadedServer和THreadedServer 通过设置最大线程数来支持并发,就不再贴图。

 

.net Thrift 之旅 (二) TServer