linux
ghorge
嘿,欢迎回家
展开
-
ls -R
废话不多说,就给看csdn的说两句 1.用lstat,因为用stat会链接过去,导致各种问题 2.latat参数里边写绝对路径,千万别写相对路径,(反正我的linux相对路径里的普通文件系统会认为是目录,然后进去)...原创 2018-07-28 23:56:50 · 2173 阅读 · 0 评论 -
慢系统调用,EINTR错误以及如何解决
慢系统调用 概念: 慢系统调用指的是可能永远阻塞的系统调用。 例如,pause或wait或accept或读管道时,可能永远阻塞。 EINTR错误 EINTR错误产生的原因:在慢系统调用阻塞的时候,若有个信号发送过来(因为信号是异步的,可能随时过来),并且这个信号没被忽略,那么就会中断这个系统调用,并且把errno置为EINTR。然后就会执行后面的代码。 解决方法 1.重新执行这个慢系...原创 2018-12-25 15:48:43 · 886 阅读 · 0 评论 -
Linux AIO
什么是AIO? AIO就是允许应用程序启动一个或多个异步执行的I / O操作。 AIO的思想:进程发起I/O操作,而不用阻塞或等待任何操作完成,稍后或在接收到I/O操作完成通知时,进程可以I/O操作结果。 也就是说,你可以在进程读写文件的同时,干你自己相干的事,而不用等待进程读写数据,节省时间。 AIO的结构体: struct aiocb { ...原创 2019-02-28 17:44:00 · 963 阅读 · 0 评论 -
生产者消费者模式理解以及用其来实现可自动调控的线程池
用最简单的话描述生产者消费者模式: 生产者生产产品,消费者消费产品。 ·如果消费者需要产品但是没有,那就等呗!等到生产者生产出来后消费者再消费。 ·如果生产者生产了很多,但是消费者不用,那就存着。(智能一点的肯定就生产的慢了) 附上最简单的代码: pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; pthread_con...原创 2019-02-26 21:20:38 · 299 阅读 · 0 评论