Merhabalar,
Konu ile alakalı bilgisi olmayan birisi olarak; thread nedir? normal kod parçaları ile arasındaki fark nedir?
Tesekkur ederim
Merhabalar,
Konu ile alakalı bilgisi olmayan birisi olarak; thread nedir? normal kod parçaları ile arasındaki fark nedir?
Tesekkur ederim
// Comments are closed.
Konuya uzak birisine thread anlatmak nasıl olur çok bilemedim.
Normal şekilde kodunu yazdın ve çalıştırdın diyelim ve kod da zaman alan bir kod parçası. Bu kod parçası çalıştığı zaman normal çalışan bir kod ise paralelinde başka bir iş yapmaz. Önüne yükünü almış çığ gibi gider ve iş bitene kadar yani çığ durana kadar çalışır. Bittikten sonra kod satırı olarak düşünürsen sonraki satıra gider ordan normal iş devam eder.
Thread olduğu zaman kod parçası çalışmaya başlar ve kendi kendine kenarda çalışmaya devam eder. Programın akışı bu işlemin bitmesini beklemeden bir sonraki satırdan devam eder. Bir bakıma kodun çalışması zamanındaki yönetimini thread’ın üzerinde çalıştığı sisteme bırakırsın. Hangi şekilde daha güzel ve verimli çalışacaksa sisteme o şekilde optimize etmesi için izin vermiş olursun. Özellikle çok çekirdekli işlemciler üzerinde program çalışıyorsa hız farkı yaşanabilir. Daha hızlı olacaktır.
Örnek vermek gerekirse,
Bir rapor çekeceksin ve raporun çalışması yaklaşık 1 saat sürüyor. Normal bir yaklaşımla kod yazdığın zaman bit butona bastığın zaman o kod parçası bitene kadar butonun aktif olmaması ve beklemesi gerekir. Bir saat sonra bitip buton normale dönmesi gerekir. Fakat bu rapor bir thread olarak yazılmış olduğu zaman (aslında thread olarak yazılması çok bir esprisi olmuyor. Kullandığın programlama diline bu bir threaddır demekden fazla birşey yapmıyorsun) buton veya program normal haline döner. Aynı zamanda arka tarafta senin görmediğin otonom bir işlem başlar. Kendi kendine iş bitene kadar çalışır ve ana programın çalışmasını engellemez. Bu durumda iş bittiği zaman haberin olmayacağı için bir haber verme sistemi kurulması gerekebilir.
Anlaşılmayan birşey varsa detaylandırmaya çalışırım.
Kod örneği olarak
https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-101/threadler
İyi çalışmalar..