Wpis z mikrobloga

Miri programistyczne!

Witam ponownie!
Jednak będzie poprawka z mojej strony ( ͡° ʖ̯ ͡°)

Zadanko dla chętnych na rozluźnienie:
Ile razy pokaże się na wyjściu ciąg znaków "Mimi"?
Odpowiedź prawidłowa (wg. mojego Ubuntu) to 6 razy... ...tylko, że nie za bardzo rozumiem jakim cudem.
Osobiście doliczyłem, że będą przynajmniej 3 wyświetlenia, ale skąd reszta?
(próbowałem numerować te Mimi, ale jeszcze więcej zamieszania mi to spowodowało).
Jest jakiś sposób, aby to sobie rozpisać na kartce chociażby?

#programowanie #pytaniedoeksperta #informatyka #linux
Pobierz crushyna - Miri programistyczne!

Witam ponownie! 
Jednak będzie poprawka z mojej ...
źródło: comment_DWUJDN2AteuyioBFxOH3ejr8DLZXXjAI.jpg
  • 10
@crushyna Przy forku tworzy Ci się niemalże identyczna kopia (child) procesu głównego (parent). Jedyna różnica to wartość, jaką zwróci fork(). Ponieważ z pierwszego forka nawet nie przechwytujesz zwróconej wartości, to dalszy ich przebieg będzie identyczny, czyli tak jakbyś dalszą część programu uruchomił po prostu dwa razy jednocześnie.

Dalej masz znowu fork gdzie child dostanie pid=0 a parent (czyli wątek który wywołał tego forka) dostanie pid>0.
Czyli w if'a wejdzie tylko child, a