Linux
YaoYong_BigData
这个作者很懒,什么都没留下…
展开
-
Linux多线程同步的几种方式
线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。 1)互斥锁(mutex) 通过锁机制实现线程间的同步。同一时刻只允许一个线程执行一个关键部分的代码。 int pthread_mutex_init(pthread_mutex_t *mutex,const pthread_原创 2016-03-28 15:44:18 · 770 阅读 · 0 评论 -
浅谈无缓存I/O操作和标准I/O文件操作区别
首先,先稍微了解系统调用的概念: 系统调用,英文名system call,每个操作系统都在内核里有一些内建的函数库,这些函数可以用来完成一些系统系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,用户将不能编写大型应用程序,及别的功能,这些函数集合起来就叫做程序接口或应用编程接口(ApplicationProg原创 2016-03-28 15:47:49 · 955 阅读 · 0 评论 -
标准IO与文件(系统)IO 的区别
先来看看不带缓存的I/O和标准(带缓存的)I/O都有那些 不带缓存的I/O: read,write,open...... 标准(带缓存的)I/O: fgets,fread,fwrite..... 这里使用两个对应的函数进行比较: ssize_t write(int filedes, const void *buff, size_t nbytes) size_t fwrit原创 2016-03-28 15:48:52 · 5305 阅读 · 1 评论 -
文件指针和文件描述符的区别
在linux系统中把设备和普通文件也都看做是文件,要对文件进行操作就必须先打开文件,打开文件后会得到一个文件描述符,它是一个很小的正整数,是一个索引值。 内核会为每一个运行中的进程在进程控制块pcb中维护一个打开文件的记录表,每一个表项都有一个指针指向打开的文件,上边的索引值是记录表的索引值。 文件描述符的优点:兼容POSIX标准,许多系统调用都依赖于它;缺点是不能原创 2016-03-28 15:49:28 · 656 阅读 · 0 评论 -
Linux下DIR,dirent,stat等结构体详解
最近在看Linux下文件操作相关章节,遇到了这么几个结构体,被搞的晕乎乎的,今日有空,仔细研究了一下,受益匪浅。 首先说说DIR这一结构体,以下为DIR结构体的定义: struct __dirstream { void *__fd; char *__data; int __entry_data原创 2016-03-28 15:50:31 · 824 阅读 · 0 评论