CN105354015A - 一种多线程通讯技术 - Google Patents
一种多线程通讯技术 Download PDFInfo
- Publication number
- CN105354015A CN105354015A CN201410408716.5A CN201410408716A CN105354015A CN 105354015 A CN105354015 A CN 105354015A CN 201410408716 A CN201410408716 A CN 201410408716A CN 105354015 A CN105354015 A CN 105354015A
- Authority
- CN
- China
- Prior art keywords
- thread
- interface
- service
- wcf service
- wcf
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Telephonic Communication Services (AREA)
Abstract
一种多线程通讯技术,属于通讯技术领域。其步骤如下:1、定义WCF服务契约,建立一个WCF服务的工程;2、实现WCF服务,建立一个类继承WCF服务接口;3、定义委托类,在委托事件的地方作声明;4、用宿主的方式启动WCF服务;5、使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件;6、引入线程池,以及另开个线程。其优点是:能实现跨平台通讯;代码方法阅读性强,易扩展;程序稳定性强。
Description
技术领域
本发明属于通讯技术领域,具体涉及的是一种在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服务对象,然后设置协议参数以及
服务参数,定义绑定类型为TCP/IP协议,设置最大接收字节数、发送超时时间、契约类、服务类型、服务地址;
步骤5:使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件;
步骤6:引入线程池,以及另开个线程,声明线程并设置线程参数。
其优点是:能实现跨平台通讯;代码方法阅读性强,易扩展;程序稳定性强。
Claims (1)
1.一种多线程通讯技术,其特征在于:步骤如下:
步骤1:定义WCF服务的契约,建立一个WCF服务的工程,声明一个契约接口,引入契
约定义以及接口函数的属性,定义异步接口的回调函数;
步骤2:实现WCF服务,继承WCF服务接口,实现接口函数,将消息通知到界面之前声
明一个同步的阶段信号,然后通过所述信号来调用回调方法;
步骤3:定义委托类,在委托事件的地方作声明,所述声明包括委托消息函数的参数及名
称;
步骤4:用宿主的方式启动WCF服务,声明一个WCF服务对象,然后设置协议参数以及
服务参数,定义绑定类型为TCP/IP协议,设置最大接收字节数、发送超时时间、契约类、服务类型、服务地址;
步骤5:使用委托事件,声明WCF服务委托消息的类,声明界面线程的委托事件;
步骤6:引入线程池,以及另开个线程,声明线程并设置线程参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410408716.5A CN105354015A (zh) | 2014-08-20 | 2014-08-20 | 一种多线程通讯技术 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410408716.5A CN105354015A (zh) | 2014-08-20 | 2014-08-20 | 一种多线程通讯技术 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105354015A true CN105354015A (zh) | 2016-02-24 |
Family
ID=55329991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410408716.5A Pending CN105354015A (zh) | 2014-08-20 | 2014-08-20 | 一种多线程通讯技术 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105354015A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494606A (zh) * | 2018-04-19 | 2018-09-04 | 四川师范大学 | 一种基于wcf技术的数据服务框架搭建方法 |
CN113687879A (zh) * | 2021-07-22 | 2021-11-23 | 成都鲁易科技有限公司 | 跨平台框架与平台交互库的交互方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551742A (zh) * | 2008-03-31 | 2009-10-07 | 上海宝信软件股份有限公司 | 辅助构建面向服务应用***的向导组件 |
CN103199972A (zh) * | 2013-03-25 | 2013-07-10 | 成都瑞科电气有限公司 | 基于soa、rs485总线实现的双机热备份切换方法及热备份*** |
CN103823659A (zh) * | 2012-11-19 | 2014-05-28 | 苏州博远容天信息科技有限公司 | 一种通讯多线程技术 |
-
2014
- 2014-08-20 CN CN201410408716.5A patent/CN105354015A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101551742A (zh) * | 2008-03-31 | 2009-10-07 | 上海宝信软件股份有限公司 | 辅助构建面向服务应用***的向导组件 |
CN103823659A (zh) * | 2012-11-19 | 2014-05-28 | 苏州博远容天信息科技有限公司 | 一种通讯多线程技术 |
CN103199972A (zh) * | 2013-03-25 | 2013-07-10 | 成都瑞科电气有限公司 | 基于soa、rs485总线实现的双机热备份切换方法及热备份*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494606A (zh) * | 2018-04-19 | 2018-09-04 | 四川师范大学 | 一种基于wcf技术的数据服务框架搭建方法 |
CN108494606B (zh) * | 2018-04-19 | 2020-12-15 | 四川师范大学 | 一种基于wcf技术的数据服务框架搭建方法 |
CN113687879A (zh) * | 2021-07-22 | 2021-11-23 | 成都鲁易科技有限公司 | 跨平台框架与平台交互库的交互方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6571277B2 (ja) | 端末アプリケーションをロードする方法及び装置 | |
CN107274470B (zh) | 一种基于实时离线渲染并行的多优先级队列调度方法 | |
CN103345405A (zh) | 应用程序的启动方法、装置和客户端 | |
CN110955499B (zh) | 处理器核心配置方法、装置、终端及存储介质 | |
CN108008950B (zh) | 一种用户界面更新的实现方法及装置 | |
WO2019201340A1 (zh) | 处理器核心调度方法、装置、终端及存储介质 | |
CN104850491B (zh) | 一种软件测试方法、设备及*** | |
CN113360807B (zh) | 混合模式移动应用的页面显示方法、装置及相关设备 | |
CN109614232B (zh) | 任务处理方法、装置、存储介质和电子装置 | |
WO2016036813A4 (en) | Controlling data processing tasks | |
CN110933075B (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN106125665A (zh) | 一种通过用户程序实现组态控制的方法 | |
CN105354015A (zh) | 一种多线程通讯技术 | |
KR101269528B1 (ko) | 이산 사건 시스템의 그래픽 모델링 기법 | |
CN105245372A (zh) | 一种基于缓存和异步机制的加载网络资源的优化方法 | |
CN103823659A (zh) | 一种通讯多线程技术 | |
CN109144750B (zh) | 一种消息处理方法、装置、电子设备及存储介质 | |
CN115242972B (zh) | 一种应用调用摄像头的方法和装置、电子设备及存储介质 | |
JP6403976B2 (ja) | コンピュータプログラム、情報処理装置及び処理実行方法 | |
CN111352715A (zh) | 一种销毁Flask线程的方法、***、终端及存储介质 | |
CN104133669B (zh) | 一种桌面应用的控制方法及终端设备 | |
CN113377360B (zh) | 任务执行方法、装置、电子设备、存储介质和程序产品 | |
CN111143017A (zh) | 云操作***交互处理方法、客户端及云操作*** | |
CN113326192B (zh) | 用于移动端的应用测试方法、装置、设备及存储介质 | |
WO2022257303A1 (zh) | 一种深度学习***的部署方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 211112 Jiangning, Jiangsu Province, open source road, No. 168, No. Applicant after: NANJING PERLOVE MEDICAL EQUIPMENT CO., LTD. Address before: 211112 Jiangning, Jiangsu Province, open source road, No. 168, No. Applicant before: Nanjing Perlove Radial-video Equipment Co., Ltd. |
|
COR | Change of bibliographic data | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160224 |