![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
acl_cpp开发--非阻塞网络编程
文章平均质量分 90
iteye_18264
这个作者很懒,什么都没留下…
展开
-
acl_cpp 的 rpc 相关类整合阻塞及非阻塞过程
一、概述 非阻塞网络编程无疑成了高并发、高性能编程的代名词,但现实应用编程中并不是每种应用都需要采用非阻塞编程模式,因为这将大大增加编程的复杂性、开发周期以及出错率,所以我们写的绝大部分网络程序程序都是阻塞的,一般是一个进程一个网络连接或一个线程一个网络连接。即然非阻塞模式可以实现高并发网络连接,阻塞模式可以实现复杂的业务逻辑,那是否有办法将二者结合起来呢?答案是肯定的,其中在 ...原创 2012-07-13 23:03:02 · 153 阅读 · 0 评论 -
非阻塞网络编程实例讲解
一、概述 acl 库的 C 库(lib_acl) 的 aio 模块设计了完整的非阻塞异步 IO 通信过程,在 acl 的C++库(lib_acl_cpp) 中封装并增强了异步通信的功能,本文主要描述了 acl C++ 库之非阻塞IO库的设计及使用方法,该异步流的设计思路为:异步流类与异步流接口类,其中异步流类对象完成网络套接口监听、连接、读写的操作,异步流接口类对象定义了...原创 2012-04-04 23:22:08 · 245 阅读 · 0 评论 -
acl_cpp 非阻塞模块的IPC通信机制
在 acl_cpp 的非阻塞框架的设计中,充分利用了操作系统平台的高并发机制,同时简化了异步编程的过程。但是,并不是所有的操作都是非阻塞的,现实的程序应用中存在着大量的阻塞式行为,acl_cpp 的非阻塞框架中设计了一种通过 ipc 模式使阻塞式函数与 acl_cpp 的非阻塞过程相结合的机制。即是说,在 acl_cpp 的主线程是非阻塞的,而把阻塞过程放在单独的一个线程中运行,当阻...原创 2012-04-23 23:03:13 · 162 阅读 · 0 评论 -
ipc_service 类:阻塞与非阻塞混合编程
非阻塞编程主要解决了网络通讯中高并发的问题,采用非阻塞方式,服务器不必为每个连接启动单独的进程或线程,从而大大地减少了系统资源的浪费;但是现实网络应用中,阻塞应用又是不可避免的,如我们对数据库编程时使用的数据操作的客户端库本身就是阻塞的。因此,单纯的非阻塞模式或阻塞模式均不能很好地胜任互联应用,如果能够将一些必要的阻塞过程融合进非阻塞过程中将会是一个现实的需求。本文主要介绍了如何保证...原创 2012-04-25 00:00:31 · 272 阅读 · 0 评论 -
用 acl::master_aio 类编写高并发非阻塞服务器程序
在文章《使用 acl::master_threads 类编写多进程多线程服务器程序》和《使用 acl::master_proc 类编写多进程服务器程序》中分别讲述了如何编写 LINUX 平台下阻塞式服务器程序的多线程和多进程方式。虽然这两种模式都可以处理并发任务,并且效率也不低,但是毕竟线程和进程资源是操作系统的宝贵资源,如果要支持非常高的并发请求,则会因为系统限制而不能创建更多的...2012-05-30 22:15:24 · 159 阅读 · 0 评论 -
使用 acl 库 rpc 功能类实现 阻塞任务过程与MFC 界面过程分离
一、概述 MFC 程序员在编写 Windows 界面程序时经常需要处理一些阻塞任务过程,为了避免阻塞窗口的消息过程,一般会将阻塞过程将由一个子线程处理,该子线程在处理过程中通过向界面线程发送 Windows 窗口消息将处理结果传递给窗口线程。在 acl 库中的 rpc 功能类实现了更为方便的处理方式,通过 rpc 功能类,用户可以在主线程中进行非阻塞过程(如:界面消息过程或网络...2013-02-24 16:42:47 · 166 阅读 · 0 评论