Sobes.tech
Junior

Bir süreç ve iş parçacığı nedir? Aralarındaki farklar nelerdir?

sobes.tech yapay zeka

AI'dan gelen yanıt

İşlem, kendi adres alanına, kaynaklara (dosya tanımlayıcıları, ağ bağlantıları) ve yürütme bağlamına sahip çalışan bir programdır.

İşlem içindeki en küçük yürütme birimi ise iş parçacığı (thread) dir. Bir işlem, kaynaklarını paylaşan ancak kendi çağrı yığını, yürütme bağlamı ve komut sayacı olan bir veya daha fazla iş parçacığı içerebilir.

Ana farklar:

Özellik İşlem İş Parçacığı (Thread)
İzolasyon Tam. Bir işlem diğerini etkilemez. Kısmi. İş parçacıkları işlemin kaynaklarını paylaşır.
Veri alışverişi IPC (ara işlem iletişimi) aracılığıyla. Hafif. İşlem içindeki ortak değişkenler aracılığıyla.
Bağlam değişimi Pahalı. Tüm işlem durumu kaydedilip geri yüklenmeli. Daha ucuz. İş parçacığının durumu kaydedilip geri yüklenmeli.
Oluşturma Pahalı. Kaynak ayırma gerektirir. Daha ucuz. Bir yığın ayırma gerektirir.
Sonlandırma İşlem sonlandırıldığında tüm iş parçacıkları sona erer. İş parçacığı sonlandırıldığında diğerleri veya işlem etkilenmez.

Java'da işlem oluşturma örneği (harici komut):

// Java
Process process = Runtime.getRuntime().exec("ls -l");
// İşlemle çalışma: giriş/çıkış alma vb.

Java'da iş parçacığı oluşturma örneği:

// Java
Runnable task = () -> {
    System.out.println("İş parçacığından merhaba: " + Thread.currentThread().getName());
};

Thread thread = new Thread(task);
thread.start(); // İş parçacığını başlat