一种通讯多线程技术的制作方法

文档序号:6491184阅读:122来源:国知局
一种通讯多线程技术的制作方法
【专利摘要】本发明公开了一种通讯多线程技术,步骤如下:步骤1)定义WCF服务的契约,建立一个WCF服务的工程;步骤2)实现WCF服务,建立一个类继承WCF服务接口;步骤3)定义委托类,在委托事件的地方作声明;步骤4)启动WCF服务;步骤5)使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件;步骤6)引入线程池,以及另开个线程。本发明能实现跨平台通讯;代码方法阅读性强,易扩张;可以避免在程序中大量使用If-Else(Switch)语句;程序稳定性强,线程间通讯稳定;程序的质量和效率上都有提高。
【专利说明】一种通讯多线程技术
【技术领域】
[0001]本发明涉及一种通讯技术,具体涉及的是一种通讯多线程技术。
【背景技术】
[0002]通讯技术:
WCF: Windows Communication Foundation (WCF)是由微软发展的一组数据通信的应用程序开发接口,它是NET框架的一部分,由NET Framework 3.0开始引入,与Windows Presentation Foundation 及 Windows Workflow Foundation 并行为新一代Windows操作系统以及WinFX的三个重大应用程序开发类库。在NET Framework 2.0以及前版本中,微软发展了 Web Service (SOAP with HTTP communicatio), NET Remoting(TCP/HTTP/Pipeline communication)以及基础的Winsock等通信支持,由于各个通信方法的设计方法不同,而且彼此之间也有相互的重叠性(例如NET Remoting可以开发SOAP, HTTP通信),对于开发人员来说,不同的选择会有不同的程序设计模型,而且必须要重新学习,让开发人员在使用中有许多不便。同时,面向服务架构(Service-OrientedArchitecture)也开始盛行于软件工业中,因此微软重新查看了这些通信方法,并设计了一个统一的程序开发模型,对于数据通信提供了最基本最有弹性的支持,这就是WindowsCommunication Foundation。
[0003]委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句 ,同时使得程序具有更好的可扩展性。
[0004]线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程.每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中.如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙.如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值.超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。

【发明内容】

[0005]本发明的目的在于克服现有技术存在的以上问题,提供一种多通讯多线程技术,使得通讯技巧灵活使用,使多线程通讯数据读写变的简单。
[0006]为实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
一种通讯多线程技术,步骤如下:
步骤I)定义WCF服务的契约,建立一个WCF服务的工程,声明一个契约接口,引入契约定义以及接口函数的属性,定义异步接口的回调函数;
步骤2)实现WCF服务,建立一个类继承WCF服务接口,在类前有声明,实现接口函数,将消息通知到界面之前声明一个同步的阶段信号,然后通过所述信号来调用回调方法;
步骤3)定义委托类,在委托事件的地方作声明,所述声明包括委托消息函数的参数以及名称;
步骤4)用宿主的方式启动WCF服务,声明一个WCF服务对象,然后设置协议参数以及服务参数,定义绑定类型为TCP/IP协议,设置最大接收字节数、发送超时时间、契约类、服务类型、《Cf服务地址;
步骤5)使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件;
步骤6)引入线程池,以及另开个线程,声明线程并设置线程参数。
[0007]本发明的有益效果是:
1、实现跨平台通讯;
2、代码方法阅读性强,易扩张;
3、可以避免在程序中大量使用If-Else(Switch)语句;
4、程序稳定性强,线程间通讯稳定;
5、程序的质量和效率上都有提闻。
【具体实施方式】
[0008]下面将结合实施例,来详细说明本发明。
[0009]一种通讯多线程技术,步骤如下:
步骤I)定义WCF服务的契约,建立一个WCF服务的工程,声明一个契约接口,引入契约定义以及接口函数的属性,定义异步接口的回调函数;
步骤2)实现WCF服务,建立一个类继承WCF服务接口,在类前有声明,实现接口函数,将消息通知到界面之前声明一个同步的阶段信号,然后通过所述信号来调用回调方法;
步骤3)定义委托类,在委托事件的地方作声明,所述声明包括委托消息函数的参数以及名称;
步骤4)用宿主的方式启动WCF服务,声明一个WCF服务对象,然后设置协议参数以及服务参数,定义绑定类型为TCP/IP协议,设置最大接收字节数、发送超时时间、契约类、服务类型、《Cf服务地址;
步骤5)使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件;
步骤6)引入线程池,以及另开个线程,声明线程并设置线程参数。
【权利要求】
1.一种通讯多线程技术,其特征在于,步骤如下: 步骤I)定义WCF服务的契约,建立一个WCF服务的工程,声明一个契约接口,引入契约定义以及接口函数的属性,定义异步接口的回调函数; 步骤2)实现WCF服务,建立一个类继承WCF服务接口,在类前有声明,实现接口函数,将消息通知到界面之前声明一个同步的阶段信号,然后通过所述信号来调用回调方法;
步骤3)定义委托类,在委托事件的地方作声明,所述声明包括委托消息函数的参数以及名称;
步骤4)用宿主的方式启动WCF服务,声明一个WCF服务对象,然后设置协议参数以及服务参数,定义绑定类型为TCP/IP协议,设置最大接收字节数、发送超时时间、契约类、服务类型、《Cf 服务地址; 步骤5)使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件; 步骤6)引入线程池,以及另开个线程,声明线程并设置线程参数。
【文档编号】G06F9/44GK103823659SQ201210464769
【公开日】2014年5月28日 申请日期:2012年11月19日 优先权日:2012年11月19日
【发明者】梁俊斌, 董阳, 孙学磊 申请人:苏州博远容天信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1