Multithreaded programlama — 1. kısım

--

Photo by Xavier von Erlach on Unsplash

Pek çoğumuz bilgisayarı açtığımız zaman aynı anda birkaç uygulamayı başlatırız. Örneğin kod yazarken bir yandan internette birşeyler arar bir yandan müzik dinler bir yandan da gelen maillerimizi kontrol ederiz. Bütün bunlar aynı anda olur yada bize öyle oluyormuş gibi gelir. İşte bu olaya multitasking denilir, yani eş zamanlı görevler.

Bilgisayarda multi tasking yapmanın iki yolu vardır; process ler aracılığıyla yada threadler aracılığıyla. Process dediğimiz şey işletim sistemi tarafından çalıştırılan her bir uygulamadır, az önce bahsettiğimiz gibi kod yazarken aynı anda müzik dinlemek processler aracılığı ile eş zamanlı görevlere örnek verilebilir. Thread ise processler tarafından yaratılan en küçük iş birimidir, aynı process içinde paralel işler yapmaya yarar. Örneğin müzik uygulamanızda bir yandan müzik dinlerken bir yandan da listelerde gezinebilirsiniz.

Multithreading çok daha verimli uygulamalar yazmak için önemlidir. Çünkü gerçek hayatta pek çok uygulama bir iş yaparken ya bir input bekler yada yaptığı işin sonucunun dönmesini bekler. Bu durumda CPU boşta kalır, işte multithreading ile bu idle zamanlar daha verimli hale gelir.

Son yıllarda multicore yani çok çekirdekli CPU teknolojisi oldukça yaygın bir hale geldi. Tek çekirdekli bir CPU kullanan bir sistemde aynı anda çalıştırılan threadler aynı CPU yu paylaşır, her bir…

--

--