首页 › 分类存档 › UC

关于SIGPIPE导致的程序退出

收集一些网上的资料,以便参考:
继续阅读 »

Callback在C/C++中的实现

Callback是这样的一类对象(在这里不能简单的理解为”回调函数”了):你注册一个函数,以及调用它时的参数,希望在满足某个条件时,以这些注册的函数调用这个回调,完成指定的操作.

很多地方会使用到这个概念.比如,UI程序中,注册一个函数,当某个鼠标事件发生的时候自动调用;比如,创建一个线程,线程开始运行时,执行注册的函数操作.
Callback的出现,本质上是因为很多操作都有异步化的需要—你不知道它什么时候会执行,只需要告诉它,在执行的时候,调用我告诉你的操作即可.
尽管使用的地方不尽相同,但是从程序的角度上看,做的事情都是差不多的.
继续阅读 »

线程-调用类成员函数

   其实在signal中碰到过同样的问题,signal没办法使用类的成员函数,当时没能解决,不过今非昔比了,哈哈~~~
继续阅读 »

signal调用类成员函数

   这个问题早在使用signal时就碰到过,好不容易找到signal使用static型类成员函数的方法,但是发现不能传递参数,终究还是不行,直到在《APUE》上看到pthread和signal这一节,找到sigwait这个工具,这个问题总算是得到解决。
继续阅读 »

linux定时器

今天看书看到了关于alarm的一些用法,自己有在网上找了些资料看了下;
1。alarm()执行后,进程将继续执行,在后期(alarm以后)的执行过程中将会在seconds秒后收到信号SIGALRM并执行其处理函数。
继续阅读 »

使用 libevent 和 libev 提高网络应用性能

管理多个 UNIX 网络连接

构建现代的服务器应用程序需要以某种方法同时接收数百、数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作。有许多解决方案,但是 libevent 库和 libev 库能够大大提高性能和事件处理能力。在本文中,我们要讨论在 UNIX® 应用程序中使用和部署这些解决方案所用的基本结构和方法。libev 和 libevent 都可以在高性能应用程序中使用,包括部署在 IBM Cloud 或 Amazon EC2 环境中的应用程序,这些应用程序需要支持大量并发客户端或操作。

继续阅读 »

C++的Delegate模式

C++的Delegate模式
继续阅读 »

IO复用高级应用:同时处理TCP和UDP服务

一个socket只能与一个socket地址绑定即一个socket只能监听一个端口,服务器如果要同时监听多个端口就必须创建多个socket,若在同一个端口监听多个服务也要创建多个socket绑定到这个端口上。现在服务器监听一个端口上的TCP和UDP请求,并将发送来的数据回射到客户端。
继续阅读 »

Linux下面实现C++向对象多线程

继续阅读 »

C++简单的回调函数

继续阅读 »