Unix高级编程
FinalFantacy~
这个作者很懒,什么都没留下…
展开
-
ls 底层源码简单实现
列出一个目录中所有文件的名字,相当于在Linux/Unix终端命令行模式下键入ls命令的功能实现:#include "apue.h"#include intmain(int argc, char *argv[]){ DIR *dp; struct dirent *dirp; if(argc != 2) err_qui原创 2014-11-07 21:33:54 · 2243 阅读 · 0 评论 -
不带缓冲的IO的标准输入到标准输出
在POSIX标准中提供了函数open, read, write, lseek以及close提供不带缓冲的IO,这些函数都是使用文件描述符;在Linux/Unix系统中将标准输入复制到标准输出简单实现如下:#include #define BUFFSIZE 4096int main(int argc, char **argv){ int n; char b原创 2014-11-26 19:15:52 · 1455 阅读 · 0 评论 -
线程同步与互斥量
线程同步:当多个线程共享相同的内存时,需要确保每个线程看到一致的数据视图。如果每个线程使用的变量都是其他线程不会读取和修改的,那么就不存在一致性问题。同样,如果变量是只读的,多个线程同时读取该变量也不会有一致性的问题。但是,当一个线程可以修改的变量,其他线程也可以读取和修改的时候,我们就需要对这些线程进行同步,确保它们在访问变量的存储内容时不会访问到无效的值。为了解决这个问题,线程不得原创 2015-03-03 11:27:30 · 847 阅读 · 0 评论