_就这样_ 2014-05-05 11:39
浏览 1304
已采纳

关于父子进程的执行顺序和执行过程

我最近在看mp3的一个应用程序,有几个问,不太清楚
1.fork出一个子进程,父子进程执行的先后顺序是不确定的,如果先执行父进程,再执行子进程,父进程中没有wait和sleep。问,是否先把父进程执行完,再执行子进程?还是两个进程是一块执行的?
2.如果父进程中有sleep,父进程中的程序执行到sleep进行休眠,转而执行子进程。
问:子进程中的程序执行完了再返回父进程中执行,还是休眠时间到了返回父进程中执行,还是其他?
求,大神指教,

  • 写回答

1条回答 默认 最新

  • lihen123 2014-05-06 09:30
    关注
    1. 进程的执行顺序是要看操作系统如何进行进程调度的,具体看调度算法。比如,如果基于时间片轮转调度算法,假设父进程先执行,本时间片内没有执行完,则会发生进程切换,即调度程序从就绪队列中取出一个进程在下一个时间片内执行,而本进程保存进程信息和状态然后插入就绪队列,等待调度程序重新调度。
    2. sleep是休眠,也就是进程阻塞,从就绪队列取出本进程,插入阻塞队列。sleep时间到,进程变为就绪状态,插入就绪队列,等待调度程序调度,也就是说,执行不执行看调度程序,阻塞一定不执行,就绪也不一定是马上执行的。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题
  • ¥20 win11修改中文用户名路径
  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程