随笔分类 - linux系统编程
linux下的系统编程知识
摘要:写的太好了 fd究竟是什么:https://www.qiyacloud.cn/2021/04/2021-04-07/ socket fd是什么: https://www.qiyacloud.cn/2021/08/2021-08-05/ 总结概述一下,结构上是这样子的: 每个进程有一个进程控制块 ta
阅读全文
摘要:正文 多线程下使用条件变量需要注意一些要点 1.消费者线程尽量使用time_wait,去定期检查消费者队列长度,这可以防止一些notify丢失的问题而导致的消费者block,譬如说在cpu调度上: 如果先进行了notify,然后此时消费者线程才开始运行执行了wait,此时notify是消失的,消费者
阅读全文
摘要:概 sleep() 将进程放入等待队列,休眠结束后,进入运行队列获取cpu分配,sched_yield()将进程分配到过期队列,所有进程都运行完成后才会运行 正文 进程调度队列 操作系统的进程调度有三大队列: 三个队列:运行队列,过期队列,等待队列 1.等待队列:休眠(或者阻塞)的进程放在等待队列里
阅读全文
摘要:``` #include /* struct timeval { __time_t tv_sec; Seconds. 秒位部分 __suseconds_t tv_usec; Microseconds. 微秒位部分 }; */ void fn(){ struct timeval now; gettimeofday(&now, NULL); //获取从1970年1月1日到现在的时间 cout<<"当前
阅读全文
摘要:多线程共用进程的内存空间导致数据共享,但有时候也有线程数据隔离的需求,本文介绍了线程私有数据
阅读全文