.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 通过设置最大线程数来支持并发,就不再贴图。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。