摘要: 使用TCP协议的socket 1.网络字节序 由于在主机存储为小端序,网络传输为大端序,并且在网络中需要读取IP号和端口号,所以发送端要将小端序转为大端序,接收端将大端序转为小端序 #include <arpa/inet.h>uint32_t htonl(uint32_t hostlong);uin 阅读全文
posted @ 2018-08-05 20:12 Lune-Qiu 阅读(2824) 评论(0) 推荐(0) 编辑
摘要: 线程原语 pthread_create创建线程 #include <pthread.h> int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void * 阅读全文
posted @ 2018-07-29 13:35 Lune-Qiu 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 效率: 采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据[1]: 一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程之间在共享内存时 阅读全文
posted @ 2018-07-26 19:10 Lune-Qiu 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 消息对列的优点: 1.消息队列是一种先进先出的队列型数据结构,保证先送的货物先到达。 2.消息队列将输出的信息进行了打包处理,这样可以保证以每个消息为单位进行接收 3.消息队列还可以对货物进行分类,标记各种类别的货物。 消息队列的最佳定义是:内核地址空间中的内部链表。消息可以顺序地发送到队列中,并以 阅读全文
posted @ 2018-07-25 22:46 Lune-Qiu 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 管道和FIFO的特征之一是它们的数据是一个字节流。这是UNIX的原生I/O模型。进程往其中写入的是字节流,系统不对它作解释。 FIFO不存数据,只是通过它找到内核文件。 一.建立有名管道 1.命令mknod : mknod name p/s/m //创建管道文件/信号量/共享内存 2.命令mkfif 阅读全文
posted @ 2018-07-25 20:09 Lune-Qiu 阅读(356) 评论(0) 推荐(0) 编辑
摘要: LINUX进程通信 公开的交流方式有:信号量,消息队列,共享内存,有名管道,文件 秘密的信息仅限于交流双方知道的有:信号通信,无名管道通信和socket通信 一.匿名管道pipe #include <unistd.h> int pipe(int filedes[2]); 管道作用于有血缘关系的进程之 阅读全文
posted @ 2018-07-25 13:10 Lune-Qiu 阅读(809) 评论(0) 推荐(0) 编辑
摘要: 虚函数的结束结点,标志了虚函数表的结束。 在WinXP+VS2003下,这个值是NULL。 而在Ubuntu 7.10 + Linux 2.6.22 + GCC 4.1.3下,这个值是如果1,表示还有下一个虚函数表,如果值是0,表示是最后一个虚函数表。 一般继承(无虚函数覆盖) 1)虚函数按照其声明 阅读全文
posted @ 2018-07-24 20:22 Lune-Qiu 阅读(243) 评论(0) 推荐(0) 编辑
摘要: kill -l 查看全部信号 前32个 unix经典信号 后32个称为实时信号(自定义信号) kill可以导致一个进程被终止 90%的信号,默认都使进程终止 1.2 信号机制 信号的三大行为和五种默认动作 核心已转储 一定是Core 动作 SIGHUP 1 Term Hangup detected 阅读全文
posted @ 2018-07-21 20:12 Lune-Qiu 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 用户级和内核级线程 用户级线程:任何应用程序都可以通过使用线程库设计成多线程程序。线程库是用于用户级线程管理的一个例程句,它包含用于创建和销毁线程的代码、在线程间传递消息和数据的代码、调度线程执行的代码以及保存和恢复线程上下文的代码。该情况下所有活动发生在用户空间中,并且发生在一个进程中,而内核并不 阅读全文
posted @ 2018-07-20 18:43 Lune-Qiu 阅读(3189) 评论(0) 推荐(0) 编辑
摘要: 动物呼吸空气,空气作为动物类呼吸函数的参数。(大话设计模式) 关系:" ... uses a ..." 人需要空气 依赖就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A。比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖。表现在代 阅读全文
posted @ 2018-07-19 21:44 Lune-Qiu 阅读(560) 评论(0) 推荐(0) 编辑