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