[发明专利]一种多线程通讯技术有效
| 申请号: | 201410408716.5 | 申请日: | 2014-08-20 |
| 公开(公告)号: | CN105354015A | 公开(公告)日: | 2016-02-24 |
| 发明(设计)人: | 刘金虎;周芳芳 | 申请(专利权)人: | 南京普爱射线影像设备有限公司 |
| 主分类号: | G06F9/44 | 分类号: | G06F9/44 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 211112 江*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 多线程 通讯 技术 | ||
技术领域
本发明属于通讯技术领域,具体涉及的是一种在WCF框架下的多线程通讯技术。
背景技术
WCF:WindowsCommunicationFoundation是由微软开发的一组数据通信的应用程序开发接口,它是.NET框架的一部分,由.NETFramework3.0开始引入,与WindowsPresentationFoundation及WindowsWorkflowFoundation并行为新一代Windows操作系统以及WinFX的三个重大应用程序开发类库,在.NETFramework2.0以及前期版本中,微软开发了WebService(SOAPwithHTTPcommunication),NETRemoting(TCP/HTTP/Pipelinecommunication)以及基础的winsocket等通信支持,由于各个通信方法的设计方法不同,而且彼此之间也有相互的重叠性(例如NETRemoting可以开发SOAP,HTTP通信),对于开发人员来说,不同的选择会有不同的程序设计模型,而且必须重新学习,让开发人员在使用中有许多不便;同时,面向服务架构(Service-OrientedArchitecture)也开始盛行于软件行业中,因此微软重新查看了这些通信方法,并设计了一个统一的程序开发模型,对于数据通信提供了最基本最有弹性的支持,这就是WindowsCommunicationFoundation。
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务,线程池线程都是后台线程,每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中;如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙;如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段事件后创建另一个辅助线程,但线程的数目永远不会超过最大值,超过最大值的线程可以排队,但他们要等到其他线程完成后才完成。
发明内容
本发明的目的在于克服现有技术存在的以上问题,提供一种多线程通讯方法,使得通讯技巧灵活使用、提高通讯响应速度,使多线程通讯数据读写变的简单。
本发明所采用的技术方案是:步骤如下:
步骤1:定义WCF服务的契约,建立一个WCF服务的工程,声明一个契约接口,引入契约定义以及接口函数的属性,定义异步接口的回调函数;
步骤2:实现WCF服务,继承WCF服务接口,实现接口函数,将消息通知到界面之前声
明一个同步的阶段信号,然后通过所述信号来调用回调方法;
步骤3:定义委托类,在委托事件的地方作声明,所述声明包括委托消息函数的参数及名
称;
步骤4:用宿主的方式启动WCF服务,声明一个WCF服务对象,然后设置协议参数以及
服务参数,定义绑定类型为TCP/IP协议,设置最大接收字节数、发送超时时间、契约类、服务类型、服务地址;
步骤5:使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件;
步骤6:引入线程池,以及另开个线程,声明线程并设置线程参数。
本发明的有益效果是:实现跨平台通讯;产生的代码方法可读性强,易扩张;可以避免在程序中大量使用If-Else(Switch)语句;程序稳定性强,线程间通讯稳定;程序的质量和效率上都有提高。
附图说明
图1为一种多线程通讯技术的流程图。
图2为一种多线程通讯技术的WCF服务契约及通讯模型图。
具体实施方式
参照附图,实施步骤如下:
步骤1:定义WCF服务的契约,建立一个WCF服务的工程,声明一个契约接口,引入契约定义以及接口函数的属性,定义异步接口的回调函数;
步骤2:实现WCF服务,继承WCF服务接口,实现接口函数,将消息通知到界面之前声
明一个同步的阶段信号,然后通过所述信号来调用回调方法;
步骤3:定义委托类,在委托事件的地方作声明,所述声明包括委托消息函数的参数及名
称;
步骤4:用宿主的方式启动WCF服务,声明一个WCF服务对象,然后设置协议参数以及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京普爱射线影像设备有限公司,未经南京普爱射线影像设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410408716.5/2.html,转载请声明来源钻瓜专利网。





