프로세스 경쟁조건에 대해 .
글쓴이: 익명 사용자 / 작성시간: 금, 2002/09/27 - 8:57오전
fork에 의한 부모자식간의 프로세스 A 와 B에서
어느 한쪽에 sleep(2)을 두었다해서 반드시 그쪽이 (sleep이 없는쪽보다)
나중에
수행되는것이 보장되지는 않죠?
가령,
pid = fork();
if (pid > 0 ) /* parent */
{
do_something();
}
else if ( pid == 0 ) /* child */
{
sleep( 2 ); ---> 이렇게 한다고 해서 자식의 do_something()이
항상 부모보다 나중에 수행되는것을 보장할수
있나요?
do_something();
}
Forums:
Re: 프로세스 경쟁조건에 대해 .
OS의 process scheduler와 장비에 따라 다르겠지만 특정시간 이상을 한쪽
에서 sleep한다면 보장 할 수도 있지 않을까요?
하지만 대개의 경우 fork된 이후 특정 parent나 child중 어떤 것이 먼저
실행되어야만 할 때에는 signal이나 IPC를 이용하죠...
댓글 달기