默默的一块石头
发布时间:2022-01-20 15:03:16
APUE一书将writev的介绍放在了Advanced I/O部分,个人拙见,它和write应该是属于同层次的IO,谈不上Advanced。使用场景大体而言,write面向的是连续内存块,writev面向的是分散的数据块,两个函数的最终结果都是将内容写入连续的空间。已知每个pair的空间是单独分配的,那么在这个场景下,如果想要使用write.........【阅读全文】
发布时间:2022-01-17 10:07:53
#include stdio.h #include sys/types.h #include sys/socket.h #include unistd.h #include sys/epoll.h #include netdb.h #include stdlib.h #include fcntl.h #include sys/wait.h #include errno.h #define PROCESS_NUM 4#define MAXEVENTS 64#define .........【阅读全文】
发布时间:2022-01-12 10:40:35
测试内容:在spin_lock获取了锁,且不unlock的情况下对数据进行访问。相关代码ssize_t spin_lock_sleep_read(struct file * filp, char __user * buf, size_t count, loff_t * f_pos){ struct spin_lock_sleep_dev *dev = filp->private_data; ssize_t retval = 0; dev-.........【阅读全文】
发布时间:2022-01-10 15:46:28
惊群现象是在多进程或者多线程场景下,多个进程或者多个线程在同一条件下睡眠,当唤醒条件发生的时候,会同时唤醒这些睡眠的进程或者线程,但是只有一个是可以成功执行的,而其他的进程或者线程被唤醒后存在着执行开销的浪费。Linux中惊群的触发多个进程或者线程在获取同一把锁的时候睡眠多个进程或者线程同时进行accep.........【阅读全文】