上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 43 下一页

2018年2月1日

排序之基数排序

摘要: 基数排序: 基数排序的思想就是将待排数据中的每组关键字依次进行桶分配基数排序:LSD和MSD方法。LSD的基数排序适用于位数小的数列,如果位数多,使用MSD效率会更高。MSD与LSD相反,由高位数为基底开始分配。LSD为例:73, 22, 93, 43, 55, 14, 28, 65, 39, 81 阅读全文

posted @ 2018-02-01 16:23 wsw_seu 阅读(172) 评论(0) 推荐(0) 编辑

有名管道FIFO进程间数据传输实例

摘要: 紧接着上面一个博客的简单介绍,下面进行一个没有血缘关系的进程间通信的实例,实现文件拷贝传输。 有两个进程,一个主要是fifow进程:读文件Makefile内容,写入管道;另一个进程fifor:读管道内容,写入到Makefile2。 首先,写端会创建一个管道,然后读取Makefile内容,写入到管道t 阅读全文

posted @ 2018-02-01 16:13 wsw_seu 阅读(300) 评论(0) 推荐(0) 编辑

命名管道FIFO及其读写规则

摘要: 一、匿名管道的一个限制就是只能在具有共同祖先的进程间通信命名管道(FIFO):如果我们想在不相关的进程之间切换数据,可以使用FIFO文件来做这项工作注意:命名管道是一种特殊类型文件。利用命令:$ mkfifo filename或者相关函数:int mkfifo(const char*filename 阅读全文

posted @ 2018-02-01 15:58 wsw_seu 阅读(979) 评论(0) 推荐(0) 编辑

224、Basic Calculator

摘要: Implement a basic calculator to evaluate a simple expression string. The expression string may contain open ( and closing parentheses ), the plus + or 阅读全文

posted @ 2018-02-01 14:38 wsw_seu 阅读(100) 评论(0) 推荐(0) 编辑

2018年1月30日

(匿名)管道的读写规则

摘要: 管道读写规则:1、当没有数据可读时 O_NONBLOCK disable(文件状态标志)未设置非阻塞的话 : read调用阻塞,即进程暂停执行,一直等到有数据来。O_NONBLOCK enable: 设置非阻塞模式的话,无数据可读时,read调用返回-1,errno值为EAGAIN。 总之:阻塞模式 阅读全文

posted @ 2018-01-30 15:31 wsw_seu 阅读(628) 评论(0) 推荐(0) 编辑

(匿名)管道

摘要: (匿名)管道:一种进程间通信形式。把从一个进程连接到另一个进程的一个数据流成为一个管道(固定大小内核缓冲区)。管道的限制:1、半双工(数据只能在一个方向流动)需要双方通信时,要建立两个管道; 2、只能用于共同祖先进程(具有亲缘关系的进程)通信,通常一个管道由一个进程创建,然后调用fork。 例如:l 阅读全文

posted @ 2018-01-30 11:36 wsw_seu 阅读(156) 评论(0) 推荐(0) 编辑

时间与定时器操作

摘要: 三种不同精度的睡眠函数:1、unsigned int sleep(unsigned int seconds) 会被信号中断,返回剩余的秒数 int n=5; do{ n=sleep(n); }while(n>0) 确切等到5秒2、int usleep(useconds_t usec) ; 微秒最为单 阅读全文

posted @ 2018-01-30 10:47 wsw_seu 阅读(585) 评论(0) 推荐(0) 编辑

可靠信号与不可靠信号

摘要: 信号是软件中断,是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。 信号是进程间通信机制中唯一的异步通信机制,可以看作是异步通知,通知接收信号的进 阅读全文

posted @ 2018-01-30 10:06 wsw_seu 阅读(1729) 评论(1) 推荐(0) 编辑

2018年1月29日

信号发送接收函数:sigqueue/sigaction

摘要: 信号是一种古老的进程间通信方式,下面的例子利用sigqueue发送信号并附带数据;sigaction函数接受信号并且处理时接受数据。 1、sigqueue: 新的信号发送函数,比kill()函数传递了更多附加信息,但它只能向一个进程发送信号,针对实时信号(支持排队不会丢失),与sigaction配合 阅读全文

posted @ 2018-01-29 19:11 wsw_seu 阅读(297) 评论(0) 推荐(0) 编辑

2018年1月27日

信号之sigaction函数

摘要: 可靠机制,不会恢复默认信号处理程序: 新的信号安装函数sigaction:sigaction函数用于改变进程收到的特定信号后的行为 int sigaction(int signum,const struct sigaction *act,const struct sigaction *old); / 阅读全文

posted @ 2018-01-27 20:21 wsw_seu 阅读(343) 评论(0) 推荐(0) 编辑

上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 43 下一页

导航