操作系统
文章平均质量分 67
记录操作系统的学习
你好,此用户已存在
苍山负雪,明烛天南
展开
-
阻塞、非阻塞、同步与异步IO的区别
如图所示,进程的过程主要分为两个步骤1.内核将数据准备好到内核缓冲区2.内核将数据拷贝到用户态在上述这两个过程里,原创 2024-05-28 21:43:27 · 279 阅读 · 0 评论 -
cpu性能分析工具
功能:查看进程cpu的统计信息,其中-u选项表示显示用户级别的cpu使用情况,当然-s选项表示显示系统级别的cpu使用情况。:用户级别CPU使用率,表示进程在用户空间执行代码所占的CPU时间百分比。:系统级别CPU使用率,表示进程在内核空间执行代码所占的CPU时间百分比。:总CPU使用率,表示进程在所有CPU上的总体CPU使用情况百分比。:等待CPU的时间百分比,表示进程等待CPU时间所占的百分比。:虚拟CPU使用率,表示进程在虚拟CPU上运行的时间百分比。: CPU运行虚拟机的时间百分比。原创 2024-04-25 09:05:28 · 834 阅读 · 0 评论 -
线程间同步通信——生产者消费者模型
【代码】线程间同步通信——生产者消费者模型。原创 2024-02-13 10:35:15 · 402 阅读 · 0 评论 -
从汇编角度解释线程间互斥-mutex互斥锁与lock_guard的使用
我们创建三个线程同时进行购票,代码如下我们再看这段代码的汇编过程可以看到,三个线程在执行代码时,每个线程在执行到ticketCount--时,在底层都会执行上述三行汇编代码,这种竞态必然会导致最终结果的错误。原创 2024-02-10 23:30:42 · 1912 阅读 · 0 评论 -
Linux多线程编程
功能:创建子线程参数:- pthread_t *thread:线程号,传出参数,当线程创建成功后会赋予该值一个线程号- const pthread_attr_t *attr:线程属性- void *(*start_routine) (void *):线程函数,该参数类型为函数指针,表示要执行的子线程函数- void *arg:为第三个参数使用注:主函数就是主线程。原创 2023-10-02 11:45:30 · 153 阅读 · 2 评论