
Linux接口
文章平均质量分 67
sdoyuxuan
高产似母猪 一月20篇~ ~
展开
-
Linux 文件I/O
openopen(const char * path , flag , mode) mode参数只在 create时才有用,既然都是c语言没有重载Linux下open函数是如何实现这个重载效果的呢?答案是可变参数。open调用时内核做的事情内核首先会对flags参数进行合法性检测查找一个fd的值,这个fd的值是最小的还未使用的值在 fd_array 数组(文件描述符数组...原创 2018-03-08 16:53:29 · 300 阅读 · 0 评论 -
Linux下 标准I/O库的FILE对象结构体定义
struct _IO_FILE { int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ #define _IO_file_flags _flags /* The following pointers correspond to the C++ streambuf prot...原创 2017-10-23 18:17:27 · 1094 阅读 · 0 评论 -
Linux 下的同步与互斥
同步与互斥 同步发生在不同调度单位中(线程/进程),用来保证调度单位的时序性,比如生产者消费者模型中,消费者必须在生产者产出后才能消费,它们是存在先后顺序的。 互斥用来发生在同一时间只能有一个调度单位去临界区(临界区指一段公共代码)执行相应逻辑,比如在多线程下的消费者生产者模型下,多个消费者消费的时候,需要互斥,因为消费这个动作不是原子的,所以可能俩个线程消费一个资源。Linux下...原创 2018-03-19 18:15:54 · 736 阅读 · 0 评论 -
线程局部存储(TLS)
介绍#include int pthread_once(pthread_once_t *once_control, void (*init_routine) (void)); 1.该函数可以保证在多线程的环境下 , 可以保证 init_routine 函数指针指向的函数只被调用一次。 2.once_control参数需要通过 PTHREAD_ONCE_INIT原创 2018-01-22 18:32:43 · 636 阅读 · 0 评论