_就这样_
2014-05-05 11:39
浏览 1.2k

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

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

相关推荐 更多相似问题