访问量:AmazingCounters.com

我的github链接:https://github.com/GuoChuanrui

摘要: 什么是死锁,如何避免死锁? 线程A需要资源X,而线程B需要资源Y,而双方都掌握有对方所要的资源,这种情况称为死锁(deadlock),或死亡拥抱(the deadly embrace)。 在并发程序设计中,死锁 (deadlock) 是一种十分常见的逻辑错误。通过采用正确的编程方式,死锁的发生不难避 阅读全文
posted @ 2016-07-18 22:47 郭传瑞 阅读(353) 评论(0) 推荐(1) 编辑
摘要: 死锁产生的原因及四个必要条件 产生死锁的原因主要是: 死锁产生的原因及四个必要条件 产生死锁的原因主要是: 死锁产生的原因及四个必要条件 产生死锁的原因主要是: (1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出 阅读全文
posted @ 2016-07-18 22:46 郭传瑞 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 概念 重入:即重复调用,函数被不同的流调用,有可能会出现第一次调用还没返回时就再次进入该函数开始下一次调用。 可重入:当程序被多个线程反复执行,产生的结果正确。 如果一个函数只访问自己的局部变量或参数,称为可重入函数。 不可重入:当程序被多个线程反复调用,产生的结果出错。 当函数访问一个全局的变量或 阅读全文
posted @ 2016-07-17 23:56 郭传瑞 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 一 为什么要使用信号量 为了防止出现因多个程序同时访问一个共享资源而引发的一系列问题,我们需要一种方法,它可以通过生成并使用令牌来授权,在任一时刻只能有一个执行线程访问 代码的临界区域。临界区域是指执行数据更新的代码需要独占式地执行。而信号量就可以提供这样的一种访问机制,让一个临界区同一时间只有一个 阅读全文
posted @ 2016-07-16 23:54 郭传瑞 阅读(3948) 评论(0) 推荐(1) 编辑
摘要: 1.管道容量 count=65536,即64KB 2.管道的内部组织方式 在 Linux 中,管道的实现并没有使用专门的数据结构,而是借助了文件系统的file结构和VFS的索引节点inode。通过将两个 file 结构指向同一个临时的 VFS 索引节点,而这个 VFS 索引节点又指向一个物理页面而实 阅读全文
posted @ 2016-07-16 23:35 郭传瑞 阅读(379) 评论(0) 推荐(2) 编辑
摘要: exec家族函数 阅读全文
posted @ 2016-06-24 15:23 郭传瑞 阅读(4472) 评论(0) 推荐(0) 编辑
摘要: fork vfork 阅读全文
posted @ 2016-06-24 15:01 郭传瑞 阅读(334) 评论(0) 推荐(1) 编辑
摘要: 文件描述符和文件指针的区别和联系 文件描述符:在linux系统中打开文件就会获得文件描述符,它是个很小的正整数。每个进程在PCB(Process Control Block)中保存着一份文件描述符表,文件描述符就是这个表的索引,每个表项都有一个指向已打开文件的指针。 文件指针:C语言中使用文件指针做 阅读全文
posted @ 2016-06-24 14:43 郭传瑞 阅读(543) 评论(0) 推荐(0) 编辑
摘要: struct file结构体定义在/linux/include/linux/fs.h(Linux 2.6.11内核)中,其原型是:struct file { /* * fu_list becomes invalid after file_free is called and queued via * 阅读全文
posted @ 2016-06-24 13:26 郭传瑞 阅读(934) 评论(0) 推荐(0) 编辑
摘要: 关于return和exit 阅读全文
posted @ 2016-06-24 13:23 郭传瑞 阅读(585) 评论(0) 推荐(0) 编辑