当前位置: 首页 > news >正文

域名解析管理网站建设行业证书全国联网查询

域名解析管理网站,建设行业证书全国联网查询,深圳网络优化seo,网站建设书店目标客户分析进程间通信方式 # 管道( pipe )#xff1a;管道是一种半双工的通信方式#xff0c;数据只能单向流动#xff0c;而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 # 有名管道 (namedpipe) #xff1a; 有名管道也是半双工的通信方式#xff0c;…进程间通信方式 # 管道( pipe )管道是一种半双工的通信方式数据只能单向流动而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 # 有名管道 (namedpipe) 有名管道也是半双工的通信方式但是它允许无亲缘关系进程间的通信。 # 高级管道(popen)将另一个程序当做一个新的进程在当前程序进程中启动则它算是当前程序的子进程这种方式我们成为高级管道方式。 # 信号量( semophore ) 信号量是一个计数器可以用来控制多个进程对共享资源的访问。它常作为一种锁机制防止某进程正在访问共享资源时其他进程也访问该资源。因此主要作为进程间以及同一进程内不同线程之间的同步手段。 # 消息队列( messagequeue ) 消息队列是由消息的链表存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。 # 信号 ( sinal ) 信号是一种比较复杂的通信方式用于通知接收进程某个事件已经发生。 # 共享内存( sharedmemory ) 共享内存就是映射一段能被其他进程所访问的内存这段共享内存由一个进程创建但多个进程都可以访问。共享内存是最快的 IPC 方式它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制如信号两配合使用来实现进程间的同步和通信。 # 套接字( socket )  套解口也是一种进程间通信机制与其他通信机制不同的是它可用于不同及其间的进程通信。 Socket通信实现步骤 8.1命名socket SOCK_STREAM 式本地套接字的通信双方均需要具有本地地址其中服务器端的本地地址需要明确指定指定方法是使用 struct sockaddr_un 类型的变量。 8.2 绑定 SOCK_STREAM 式本地套接字的通信双方均需要具有本地地址其中服务器端的本地地址需要明确指定指定方法是使用 struct sockaddr_un 类型的变量将相应字段赋值再将其绑定在创建的服务器套接字上绑定要使用 bind 系统调用其原形如下 intbind(intsocket, const struct sockaddr *address, size_t address_len); 其中 socket表示服务器端的套接字描述符address 表示需要绑定的本地地址是一个 struct sockaddr_un 类型的变量address_len 表示该本地地址的字节长度。 8.3 监听 服务器端套接字创建完毕并赋予本地地址值名称本例中为Server Socket后需要进行监听等待客户端连接并处理请求监听使用 listen 系统调用接受客户端连接使用accept系统调用它们的原形如下 intlisten(intsocket, int backlog); intaccept(intsocket, struct sockaddr *address, size_t *address_len); 其中 socket 表示服务器端的套接字描述符backlog 表示排队连接队列的长度若有多个客户端同时连接则需要进行排队address 表示当前连接客户端的本地地址该参数为输出参数是客户端传递过来的关于自身的信息address_len 表示当前连接客户端本地地址的字节长度这个参数既是输入参数又是输出参数。 8.4 连接服务器 客户端套接字创建完毕并赋予本地地址值后需要连接到服务器端进行通信让服务器端为其提供处理服务。 对于SOCK_STREAM类型的流式套接字需要客户端与服务器之间进行连接方可使用。连接要使用 connect 系统调用其原形为 intconnect(intsocket, const struct sockaddr *address, size_t address_len); 其中socket为客户端的套接字描述符address表示当前客户端的本地地址是一个 struct sockaddr_un 类型的变量address_len 表示本地地址的字节长度。实现连接的代码如下 connect(client_sockfd,(struct sockaddr*)client_address, sizeof(client_address)); 8.5 相互发送接收数据 无论客户端还是服务器都要和对方进行数据上的交互这种交互也正是我们进程通信的主题。一个进程扮演客户端的角色另外一个进程扮演服务器的角色两个进程之间相互发送接收数据这就是基于本地套接字的进程通信。发送和接收数据要使用 write 和 read 系统调用它们的原形为 intread(intsocket, char *buffer, size_t len); intwrite(intsocket, char *buffer, size_t len); 其中 socket 为套接字描述符len 为需要发送或需要接收的数据长度 对于 read 系统调用buffer 是用来存放接收数据的缓冲区即接收来的数据存入其中是一个输出参数 对于 write 系统调用buffer 用来存放需要发送出去的数据即 buffer 内的数据被发送出去是一个输入参数返回值为已经发送或接收的数据长度。 8.6 断开连接 交互完成后需要将连接断开以节省资源使用close系统调用其原形为 intclose(intsocket); 线程间通信方式 # 锁机制包括互斥锁、条件变量、读写锁*互斥锁提供了以排他方式防止数据结构被并发修改的方法。*读写锁允许多个线程同时读共享数据而对写操作是互斥的。*条件变量可以以原子的方式阻塞进程直到某个特定条件为真为止。对条件的测试是在互斥锁的保护下进行的。条件变量始终与互斥锁一起使用。 # 信号量机制(Semaphore)包括无名线程信号量和命名线程信号量 # 信号机制(Signal)类似进程间的信号处理 线程间的通信目的主要是用于线程同步所以线程没有像进程通信中的用于数据交换的通信机制。 多线程通信的方法主要有以下三种 1.全局变量 进程中的线程间内存共享这是比较常用的通信方式和交互方式。 注定义全局变量时最好使用volatile来定义以防编译器对此变量进行优化。 2.Message消息机制 常用的Message通信的接口主要有两个PostMessage和PostThreadMessage PostMessage为线程向主窗口发送消息。而PostThreadMessage是任意两个线程之间的通信接口。 2.1.PostMessage() 函数原型 B00L PostMessageHWND hWndUINT MsgWPARAMwParamLPARAM lParam 参数 hWnd其窗口程序接收消息的窗口的句柄。可取有特定含义的两个值 HWND.BROADCAST消息被寄送到系统的所有顶层窗口包括无效或不可见的非自身拥有的窗口、被覆盖的窗口 和弹出式窗口。消息不被寄送到子窗口。 NULL此函数的操作和调用参数dwThread设置为当前线程的标识符PostThreadMessage函数一样。 Msg指定被寄送的消息。 wParam指定附加的消息特定的信息。 IParam指定附加的消息特定的信息。 返回值如果函数调用成功返回非零值如果函数调用失败返回值是零。 MS还提供了SendMessage方法进行消息间通讯SendMessage(),他和PostMessage的区别是 SendMessage是同步的而PostMessage是异步的。SendMessage必须等发送的消息执行之后才返回。 2.2.PostThreadMessage( PostThreadMessage方法可以将消息发送到指定线程。 函数原型BOOLPostThreadMessage(DWORD idThread,UINT Msg,WPARAM wParam, LPARAM lParam); 参数除了ThreadId之外基本和PostMessage相同。 目标线程通过GetMessage()方法来接受消息。 注使用这个方法时目标线程必须已经有自己的消息队列。否则会返回ERROR_INVALID_THREAD_ID错误。可以用 PeekMessage()给线程创建消息队列。 3.CEvent对象 CEvent为MFC中的一个对象可以通过对CEvent的触发状态进行改变从而实现线程间的通信和同步。
http://www.sadfv.cn/news/241950/

相关文章:

  • 拨号地址怎么做网站wordpress缓存怎么清理
  • 用jsp源码做网站上海网站制作方法
  • 住房城乡建设局网站首页点点网 wordpress
  • 网站有标题网站怎么做友情连接
  • 做网站的边框wordpress 404模板
  • 学网站开发网页制作安装百度到桌面
  • 医药类网站建设评价酒类营销网站
  • 优跃达官网网站建设项目外贸网站建设公司流程
  • 手机单页网站生成系统wordpress文件
  • 网站后台运营怎么做嵌入式转行到网站开发
  • 网站建设创新点网站开发技术网站模板
  • 那家网站做的效果好c 网站建设教程视频
  • 建站平台上建设的网站可以融资吗wordpress添加+下载
  • 建设网站程序汕头网站制作多少钱
  • 苏州大型网站建设公司做网站通过什么赚钱吗
  • 网站建设犭金手指a排名12怎么建设一个网站并顺利打开浏览
  • qq空间怎么做网站网站建设的工作计划
  • 江苏网站建设 博敏网站个性化网站建设公司电话
  • 企业网站建站那种好宁陵县网站seo
  • 网站模块设计wordpress只显示默认主题
  • 月编程做网站建网站用什么服务器
  • 企业网站建设包含哪些内容佛山市住房建设局网站
  • 网页制作与网站建设实战大全光盘编程开发工具大全
  • 年底 网站备案成都龙泉工程建设有限公司网站
  • 网站建设背景和目标高端品牌女装连衣裙
  • alexa全球网站排名三亚网红打卡景点
  • 用C语言做网站登录界面app外包平台的服务水平
  • 建com网站中国建材建设网站
  • 做网站网页维护 手机App 开发上海高端做网站
  • 设计品质网站建设做销售在哪个网站找客户