Widelec jest często mylony z zaszczepiaczem. Spawn to fork + exec (co oznacza rozpoczęcie procesu , który zastępuje bieżący i dziedziczy niektóre z jego zewnętrznych zasobów, takich jak otwarte gniazda).
Spawn jest dostępny w języku Java (przez System.exec i podobne).
Widelec nie jest na Jawie, ponieważ byłby bardzo problematyczny.
Widelec wymaga sklonowania przestrzeni adresowej. Obsługa jądra, aby zrobić to skutecznie, nie jest dostępna w większości systemów innych niż systemy uniksowe; na przykład U/win i Cygwin zmagali się z , aby emulować fork pod Win32. W języku takim jak Java, garbage collector & kompilatory JIT miały tendencję do dotykania stron Vmem takich, jak , przez co przestrzeń nie byłaby długo udostępniana po rozwidleniu.
Klonowanie ma wiele skutków ubocznych. Np. Bufory wejściowe lub wyjściowe będą przetwarzane we wszystkich rozwidlonych elementach potomnych . Pamięć współdzielona SysV zostanie odłączona.
Większość języków i bibliotek po prostu odmawia rozwidlenia wsparcia w postaci . Obejmuje to API (POSIX) do gwintowania; Dziecko nie może używać wątków, dopóki nie wykona (tj. Zostanie odrodzeniem)!
Perl używa fork, ponieważ jego elementy wewnętrzne są bardzo zbliżone do C/Unix, , a wielowątkowość jest fatalna.
Powłoka Uniksa używa rozwidlenia według projektu, czyli jak migawki są wszystkie zmienne lokalne i stan. Właśnie dlatego nie ma przyzwoitej powłoki uniksowej dla środowiska innego niż środowisko uniksowe (012).
Dlaczego spadamy? To rozsądne pytanie. –