Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Timer İçerisinde Thread
#1
Veya bir başka deyişle Thread içinde Thread,

Android tarafında arka planda belirli bir süre tekrarlanan veya arkaplanda başlayıp bitmesini istediğim bir kod var ise AsyncTask kullanıyorum,

Görsel Componetlere dokunmadığınız sürece ilgili işlem içerisinde top koşturulabiliyor, AsyncTask içerisinde onlarca yeni AsyncTask işlemi başlatabilmem mümkün.

Delphi tarafında bu konularda pek bilgim yok, Timer içerisinde thread oluşturduğumda uygulama saçmalamaya başlıyor :Smileiz olsanız en kolay hangi yolu seçerdiniz.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#2
Bir pencereye sahip olmayan uygulamalarda, TTimer kullanmak uygun değildir. Çünkü TTimer özellik olarak pencere'ye WM_TIMER mesajının gönderilmesi ve bunun işlenmesi yolu ile çalışır. Bunun yerine Timer gibi davranabilecek bir çok seçenek kullanılabilir. Örneğin Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. ve Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. API'leri kullanılabilir. Ya da çok daha basit olarak, bir dummy thread oluşturursunuz bu thread sonlanmadığı müddetçe bir döngüye girer ve döngü içinde Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. ile alertable vaziyette istediğiniz interval'de bekler.

SleepEx ve alertable önemli tabii. Bu konular sizi Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.'ye götürür. Bu hususlarla alakalı daha önce yazmıştım.

Thread'lerin saçmaladığı noktalar genelde senkronizasyona ihtiyaç olan noktalardır. Kısaca senkronizasyon, kaynakların efektif kullanılması için bir araçtır. Amiyane bir benzetme ile; bir tuvalette 4 kabin var ise, aynı anda sadece 4 kişi tuvalet ihtiyacını giderebilecek demektir. 5nci, 6ncı ... kişiler beklemek zorundadırlar. Ancak, senkronizasyona saygı gösterilmez ise; bu durumda 4 kabine 8 kişi de sığmaya çalışabilir. Elbette, bunun sonucu tahmin edilemez Wink

Kısaca Thread'lerde saçmalık olarak tabir edilebilecek hususlar, bu tarz durumlara özen gösterilmediği için gerçekleşir. Bu nedenle, Critical Section, Mutex, Event, Semaphore ... gibi senkronizasyon nesneleri hakkında fikir sahibi olmak elbette çok faydalıdır.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#3
Zaman buldukça Threadlar üzerinde geziniyorum bakalım. ya batarız ya çıkarız :d



Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#4
(14-12-2017, Saat: 13:48)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Zaman buldukça Threadlar üzerinde geziniyorum bakalım. ya batarız ya çıkarız :d




Bence çıkarsın Wink
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#5
Smile Abi normal VCL uygulamasında sorun yok Fakat Soap Servisi içerisinde kullanamıyorum.

Serviste Rasgtele her defasında farklı yerde bu hata dönüyor.
ReceiveHeader: Net packets out of order: received[48], expected[1]

Yanlış biliyorsam düzeltin, Soap servise her istek geldiğinde ilgili fonksiyon yeni bir thread olarak oluşuyor, Benim threadım bunu blokluyor ve bu sebepten paketler bozuluyor olabilir mi ?
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#6
(14-12-2017, Saat: 14:27)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Smile  Abi normal VCL uygulamasında sorun yok Fakat Soap Servisi içerisinde kullanamıyorum.

Serviste Rasgtele her defasında farklı yerde bu hata dönüyor.
ReceiveHeader: Net packets out of order: received[48], expected[1]

Yanlış biliyorsam düzeltin, Soap servise her istek geldiğinde ilgili fonksiyon yeni bir thread olarak oluşuyor, Benim threadım bunu blokluyor ve bu sebepten paketler bozuluyor olabilir mi ?

Birden fazla thread'in olduğu ve bu thread'lerin ulaşabilecekleri uzaklıkta enfes bir sofra olduğu müddetçe; her şey mümkündür. Sofra bir tane, sandalye bir tane; aç thread birden fazla Big Grin

Kodun tamamını görmeden kesin bir şey söylemek zor.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#7
(14-12-2017, Saat: 13:29)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Thread'lerin saçmaladığı noktalar genelde senkronizasyona ihtiyaç olan noktalardır. Kısaca senkronizasyon, kaynakların efektif kullanılması için bir araçtır. Amiyane bir benzetme ile; bir tuvalette 4 kabin var ise, aynı anda sadece 4 kişi tuvalet ihtiyacını giderebilecek demektir. 5nci, 6ncı ... kişiler beklemek zorundadırlar. Ancak, senkronizasyona saygı gösterilmez ise; bu durumda 4 kabine 8 kişi de sığmaya çalışabilir. Elbette, bunun sonucu tahmin edilemez Wink

Bu benzetmeyi okuyunca gözümden yaş geldi Smile
XXXXlıların tuvalet sistemi kullanılırsa problem çıkma ihtimali hayli azalır Smile
Cevapla
#8
(14-12-2017, Saat: 17:13)frmman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(14-12-2017, Saat: 13:29)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Thread'lerin saçmaladığı noktalar genelde senkronizasyona ihtiyaç olan noktalardır. Kısaca senkronizasyon, kaynakların efektif kullanılması için bir araçtır. Amiyane bir benzetme ile; bir tuvalette 4 kabin var ise, aynı anda sadece 4 kişi tuvalet ihtiyacını giderebilecek demektir. 5nci, 6ncı ... kişiler beklemek zorundadırlar. Ancak, senkronizasyona saygı gösterilmez ise; bu durumda 4 kabine 8 kişi de sığmaya çalışabilir. Elbette, bunun sonucu tahmin edilemez Wink

Bu benzetmeyi okuyunca gözümden yaş geldi Smile
XXXXlıların tuvalet sistemi kullanılırsa problem çıkma ihtimali hayli azalır Smile

Smile
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#9
(14-12-2017, Saat: 14:27)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Smile  Abi normal VCL uygulamasında sorun yok Fakat Soap Servisi içerisinde kullanamıyorum.

Serviste Rasgtele her defasında farklı yerde bu hata dönüyor.
ReceiveHeader: Net packets out of order: received[48], expected[1]

Yanlış biliyorsam düzeltin, Soap servise her istek geldiğinde ilgili fonksiyon yeni bir thread olarak oluşuyor, Benim threadım bunu blokluyor ve bu sebepten paketler bozuluyor olabilir mi ?

Aylar sonra kendi yaptığım hatayı farkettim Smile

Yukarıdaki hatanın nedeni Thread içerisinden rodoslama vcl komponetine daldığım için , o zamanlar Queue bilmiyor muşuz Smile
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#10
(14-08-2018, Saat: 10:27)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(14-12-2017, Saat: 14:27)yhackup Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Smile  Abi normal VCL uygulamasında sorun yok Fakat Soap Servisi içerisinde kullanamıyorum.

Serviste Rasgtele her defasında farklı yerde bu hata dönüyor.
ReceiveHeader: Net packets out of order: received[48], expected[1]

Yanlış biliyorsam düzeltin, Soap servise her istek geldiğinde ilgili fonksiyon yeni bir thread olarak oluşuyor, Benim threadım bunu blokluyor ve bu sebepten paketler bozuluyor olabilir mi ?

Aylar sonra kendi yaptığım hatayı farkettim Smile

Yukarıdaki hatanın nedeni Thread içerisinden rodoslama vcl komponetine daldığım için , o zamanlar Queue bilmiyor muşuz Smile

Şimdi biliyorsun elhamdülillah Smile
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Thread içerisinde Tstrings & TStringList yhackup 2 152 10-09-2019, Saat: 22:45
Son Yorum: yhackup
  ÇÖZÜLDÜ-timer kullanmadan saat kontrolü mümkünmü? sadikacar60 3 209 10-09-2019, Saat: 22:19
Son Yorum: sadettinpolat
  Thread içerisinde sleep kullanımı berk06 1 206 26-08-2019, Saat: 11:36
Son Yorum: Tuğrul HELVACI
  Unit içerisinde procedure/fonksiyon/sabit malitutuncu 2 491 29-03-2019, Saat: 18:09
Son Yorum: malitutuncu
  Thread osiso 17 1.332 06-03-2019, Saat: 15:00
Son Yorum: edo



Konuyu Okuyanlar: 1 Ziyaretçi