Artariel Mesaj tarihi: Eylül 12, 2010 Paylaş Mesaj tarihi: Eylül 12, 2010 C'de okudum ettim Threadler ve Process konusuna geldim. Şöyle basitçene üzerinden geçebilecek var mıdır ? Konuyu okumadan evvel hafif bilgi sahibi olabileyim ki okuduğumu anlayayım Edit : Genel anlamlarını biliyorum daha çok şunu sormak istiyorum. Ne gibi durumlarda thread, process yaratmam gerekir kullanmam gerekir ? Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Anason Mesaj tarihi: Eylül 13, 2010 Paylaş Mesaj tarihi: Eylül 13, 2010 Etkilerini soyleyeyim. Process yaratma (zannediyorum fork()'dan bahsediyorsun), Bir processin aynisinin kopyasini alarak (PC, stack degerlerine kadar) ayni anda calistirmasidir. Soyle dusun, senin bir processin var ve bunun bir memory alani var, diger fork() ile yarattigin process ayni memory alaninin kopyasinda calismaya basliyor, bu su demek, fork() edene kadar olan butun degerler, yaratilanla esit ama fork()'dan sonra her process kendi memory alanini editliyor ve birbirinden bagimsiz oluyor. Linux'te tam bu sekilde degil ama sonuc ayni, sadece COW isimli ekstra bir teknik kullaniyor bunu yapana kadar. Thread ise soyle, bu bahsettigim memory alani ortak, thread yaratirken gecirdigin memory alanini 2 ortak process kullaniyor ve bu yuzden isler biraz karisiyor, race condition, deadlock gibi kavramlar giriyor (bunlar icin mutex lock ve condition wait/signal gibi yardimci fonksiyonlar sunuyor tabi). Linux'te posix thread ve native linux threads gecerli, uClibc gibi spesifik bi libc kullanmazsan, pthreads gormen zor. Aralarindaki fark senin icin cok onemli olmasa gerek simdilik. Thread daha kompleks projeler icin onemli ama dizayni ve kullanimi tabiki daha zorlastiriyor. fork() daha basit isler icin kullanilmasi makul olsada, linux'deki gelismis IPC teknikleri sayesinde cok yaygin, cogu open source projelerde gormen dogal. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Anason Mesaj tarihi: Eylül 13, 2010 Paylaş Mesaj tarihi: Eylül 13, 2010 2 sekildeki process yaratimida aslinda en dusuk seviyede linuxde clone() kullaniyor sadece flagleri farkli. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar