kısaca multithread uygulama, aynı anda birden fazla işlem yapmak olarak ifade edilebilir.
normalde program satır satır işlenirken, (bir butona basılınca butonun click olayı çalışır, click olayında 2 farklı prosedürü çağırdığınızı varsayalım, 1. prosedürün işi bitmeden 2. prosedür işlenmez, ve normal bir uygulama single threaddir, tüm işlemler applicationun içinde bulunduğu ana thread üzerinde gerçekleşir),
multithread uygulamada threadler asenkron olarak birbirinden bağımsız olarak işlerler, (önceki örneğe göre çağrılacak prosedürler birer thread altında tanımlanmışlarsa, ilk prosedür a threadinde çalışırken 2. prosedür b threadinde asenkron olarak aynı anda çalışabilir, diğerinin bitmesini beklemez)
multi thread uygulama bazen programın işleyişinin hızlı ilerlemesini sağlasa da dikkatli kullanılmalıdır, özellikle thread içinde gerçekleşen olayların debug aşamasında sıkıntılar yaşanabileceği için multi thread uygulama gerekiyorsa önce normal yapı tasarlanıp, programın düzgün bir şekilde işlediği görüldükten sonra multithread yapıya geçilebilir.
multithread nerelerde gereklidir derseniz, kısaca ve kabaca aynı anda farklı işlemler gerektiğinde diyebiliriz, yada yapılan işlemlerden birisi uzun sürecekse, beklenme programın donması gibi sıkıntıları aşmak için kullanılabilir.
örneğin, netten dosya downloadı, çizim işlemleri, animasyon vari uygulamalar, hatta sorgu süresi uzun olabilecek sql sorgulamaları olabilir.
siz kısaca demişsiniz ama aklıma gelenleri yazıverdim işte...
