Onur Dayıbaşı

CV
none

Prcocess ile Thread Arasındaki Fark Nedir?

Process işletim sistemi seviyesinde bir uygulama başlattığınızda gördüşünüz işlemciler gibi düşünebilirsiniz. komut satırısın ps -a yazdığınızda hangi processlerin hangi id ile çalıştığını görebilirsiniz.

Process List

Yukarıda bahsettiğimiz scheduler bu process zaman vererek tüm uygulamaların birlikte çalışmasına olanak sağlar. O process içerisinde tek bir thread çalıştırılabileceği gibi SingleThread EventLoop’daki gibi. Java’daki Servlet içerisindeki gibi multi-thread yaklaşımlarda uygulanabilir. Multi-Thread yapının avantajı JVM tarafından optimize bir şekilde CPU nun kullanılması ve bir process içerisinde bir çok request karşılayabilmesi açısından avantajlıdır. Ama yukarıda bahsettiğim gibi istek sayısı çok attığında Thread Memory Space ve Stack Trace saklayıp kaldığı yerden context-switch yapma maliyeti çok artar bu gibi durumlarda Single Thread Event-Driven yaklaşımların daha performanslı çalıştığı görülmektedir.

Multi-Thread vs Single Thread

Referanslar