Monthly Archives: Ekim 2012

Multithread Uygulamalarda Değişken Kullanımı

Yaklaşık 3 aydır “Sobee Studios” firmasında çalışıyorum ve açık söylemek gerekirse bu kadar kısa sürede bir çok şey öğrendim. Teşekkürü sonda yapılmasını pek doğru bulmadığım için başında yapayım, bu 3 aylık süreçte deneyimlerini benimle paylaşan Cem Sermen ve Fatih Güngör‘e çok teşekkür ediyorum. Ayrıca uzun zamandır yazmadığım için de baya bir konu birikti, en kısa sürede bunları burada paylaşacağımı söyleyip konuya gireyim.

Bir çok uygulamada özellikle Client-Server uygulamalarında ram’de geçici olarak veri tutmanız gerekebilir. Bu verileri bir değişkende (int, bool, long vs.) tutabileceğiniz gibi birden fazla olması durumunda dizilerde de tutabilirsiniz. SingleThread bir uygulama da diziye veri eklemek ve çıkartmak sizin için problem olmayacaktır çünkü o diziye sadece tek bir thread’den tek bir uygulama erişecektir. Sorun multithread uygulamalar da ortaya çıkıyor. 

Resim üzerinden gidecek olursak, Thread-1 diziye bir veri elemanı eklemek için erişiyor olsun. Aynı şekilde Thread-2’de diziden veri okumak için erişiyor olduğunu düşünelim. Önce hangi işlem yapılacak? Okuma işlemi mi? Yoksa yazma işlemi mi? Yada Thread-1 veri’deki bir elemanı değiştiriyor olsun, Thread-2’nin okumaya çalıştığı veri elemanının güncel olmasını garanti edebilir miyiz?

Devamını Oku

 Scroll to top