Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

jamirooo

[Resolvido] colocação do fork()

Mensagens Recomendadas

jamirooo    0
jamirooo

Boas! tenho a seguinte duvida...

neste programa

#include <stdio.h>
int main (){
int var=10;
fork();
var++;
printf("%d\n", var);
return 1;
}

com o fork nesta posiçao ele vai retornar dois 11's .

depois se o coloco na posiçao entre o incremento e o printf ele imprime um 11 e depois o segundo 11 ele vai imprimir a seguir ao "nome da bash" exemplo:

"11

bruno-ferreira-PC$11

"

queria saber o porquê da diferença entre ambos...obrigado desde já..

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Rui Carlos    309
Rui Carlos

Penso que isso não deve ser determinístico. Assim à primeira vista, em qualquer posição que coloques o fork isso pode acontecer.

Para garantir que isso não acontece, tens que pôr o processo pai a esperar pelo processo filho, através do wait.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jamirooo    0
jamirooo

Penso que isso não deve ser determinístico. Assim à primeira vista, em qualquer posição que coloques o fork isso pode acontecer.

Para garantir que isso não acontece, tens que pôr o processo pai a esperar pelo processo filho, através do wait.

hmm....tens razao...isto tambem me acontece noutras situações... Obrigado!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade