Yorumları: 1.460
Konuları: 80
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 11.868
Üstad
(08-09-2017, Saat: 13:15)ismailkocacan Adlı Kullanıcıdan Alıntı: Yukarıda bahsettiğim PostThreadMessage ile sunduğum çözüm hakkında kimse bir şey demedi.
Zaten sorunun amacı, mesajı gönderen uygulamanın
kilitlendiğini gözlemlemeniz ve bu kilitlenmeye bir çözüm üretmeniz idi. PostMessage ya da ona benzer asenkron metodlar ile zaten kilitlenme yaşamazdınız. Bu nedenle soruda SendMessage ile deneyin yazmıştım. Hemen ardındaki maddede de "kilitlenme yaşadı iseniz" diye kasıtlı bir ifade kullanmıştım
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
Yorumları: 96
Konuları: 23
Kayıt Tarihi: 08-01-2017
Rep Puanı: 415
Acemi
Thread Duayenimiz Tuğrul HELVACI Hocamızın affına sığınarak ... 1 sorum olacaktı .. Anaforma .. çalışan 10 veya daha fazla thread'dan aynı anda PostMessage vari bir mesajlama veya önereceğiniz bir yöntemle bloklanmadan nasıl mesaj gönderebiliriz...
Yorumları: 1.460
Konuları: 80
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 11.868
Üstad
(04-07-2022, Saat: 18:24)gjamesbond Adlı Kullanıcıdan Alıntı: Thread Duayenimiz Tuğrul HELVACI Hocamızın affına sığınarak ... 1 sorum olacaktı .. Anaforma .. çalışan 10 veya daha fazla thread'dan aynı anda PostMessage vari bir mesajlama veya önereceğiniz bir yöntemle bloklanmadan nasıl mesaj gönderebiliriz...
Estağfirullah.
TThread.Queue kullanabilirsiniz. Bu metodoloji ile ilgili bir kısım paylaşımları DelphiCan üzerinden de bulabilirsiniz.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
Yorumları: 1.460
Konuları: 80
Kayıt Tarihi: 05-08-2016
Aktif Kullandığınız Delphi Sürümü:
Rep Puanı: 11.868
Üstad
(18-07-2022, Saat: 18:07)gjamesbond Adlı Kullanıcıdan Alıntı: (04-07-2022, Saat: 21:09)gjamesbond Adlı Kullanıcıdan Alıntı: Teşekkürler araştırmaya başlayalım..
Daha öncelleri sizin makalenizden de faydalanarak (1) ile thread(normal) çalıştırdığımız bir uygulamada .. thread 'in işlemlerinin ne durumda olduğunu Postmesajla anaforma göndererek görsel bildirim yaptık güzel oldu ve thread'ı durdurup /yeniden başlatma/ terminate ettik. sağlıklıda çalıştı.
Fakat bu yeni uygulamada normal thread yapısında isterse tek değerle veya isterse 10-20-30 değerle aynı anda gerekli hesaplamaları yapması ve bize bu hesaplamaların veritabanın da geçici tabloda her hesabın toplam durumu göstermesini istiyoruz.. işlem durumunu başka yöntemle çözdüm her thread için donma,bloklama yapmıyor.. tüm threadleri hatta durdurup,devam ettiriyoruz.. fakat istediğimiz zaman iptal(terminate) ettiğimizde işleme koyup iptal etmiyor.. hataya düşüyor.. Terminalthread(handle,0); denedik gene olmadı.. sadece tüm işlemler bitti mi sizin deyiminizle..yağ gibi akıp görsel olarak güzelce yapıyor.. tabi sonuna kadar beklersek thread içinde ADO/queryler ve bir yerde de progresbarlar için Synchronize ("procedure (...) of object;") işlemimiz var.. Bize Tavsiye edeceğiniz Çoklu threadlerin hepsini aynı anda durdurabileceğiz/ terminate edeceğimiz yöntem varmı dır..? yoksa hepsinin bitmesini mi bekleyeceğiz.. (oluşturacağı veriler geçici olduğu iptal edilmesinde bir sorun yoktur) çok çeşitli döküman ve sitelere baktım ve istediğimi bulamadım... Teşekkürler..
Bu hususu, yeni bir konu başlığı açarak paylaşabilir misiniz ? Bu başlık altında tartışmayalım mümkünse.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...