Tam Sürümünü Görmek İçin : Bu kodun output'u nedir?
Merhaba,
Java'ile calisiyorum ve C++ ile ilgili icinden cikamadigim birkac sorum var. Yardimci olacak arkadaslara simdiden tesekkurler.
#include <stdlib.h>
void main(void) {
int i = 0 ;
for( i = 1; i < 3; i++ ) {
fork() ;
print(‘’Regel i='’,i ) ;
}
}
Bu programin output'u nedir? Araya fork() girdiginde neyi degistirir?
Yada asagidaki gibimidir?
Regel i=2
Regel i=3
fork yeni bir process oluşturur diye biliyorum yani koda göre her i değeri için
program tekrardan çalıştırılır ama öyle olursada sonsuz döngüye girer devamlı yeni altprocessler yaratılır ve alprocessin altı yaratılır...pid değeri ile kontrol ediyorduk sanırım ama tam hatırlamıom kolay gele...
burda anlatıyor sanırım...
http://www.linuxfocus.org/Turkce/November2002/article272.shtml
Linux ta derlemek lazım ama fork(); paremetre almaz ama parametre döndürür. Döndürdüğü parametre kullanılmamış, ama prosesi başlattığında kontrolü child prosese bırakıyorsa ilginç şeyler yapabilir.
http://www.amparo.net/ce155/fork-ex.html fork() genel kullanımı.
myavuzselim
31/05/2007, 01:51
Bildigim kadariyla fork cagrildigi anda process'inin bir kopyasi yaratilir, iki ayri process olarak calisirlar (bildigim tek fark fork'un donus degeri). Her dongude process sayisini fork cagirarak ikiye katliyorsun, yani toplam 4 process calisacak. i=1 iken fork ile 2 process icin print(i) calisacak. Sonra her iki process icin i=2 olacak, process sayisi ikiye katlanip dordu icin birden print(i) calisacak.
Yani 1,1,2,2,2,2 gibi bir cikti beklenebilir. Ama processler ayni anda calistigi icin ayni sirada olma zorunluluklari yok. 1,2,2,1,2,2 gibi bir cikti da olabilir yani.
paylaşım için teşekkürler. bir de başlıktaki output kelimesini çıktı olarak değiştirebilir miyiz acaba?
fork() için çatal,
process için işlem,
program için "Henüz Bulamadım"
pid için bu kısaltmaya da uyduramadım henüz birşey, (işlem kimliği ?! ik olsun mu)
Türkçe hassasiyeti için yanlış bir yer programlama alanı takılmamak lazım bence...
Forum Yazılımı : vBulletin v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.