Arka plan iş parçacıklarına göre kesintili görevleri uygulamak istiyorum. TTask.Stop
yöntemini uygulamanın en temiz yolu nedir? Arka plan iş parçacığını nasıl iptal edebilirim?Bir iş parçacığı iptal ettiniz mi?
İş parçacığı içeriğinde yürütülen kod, anonim bir yöntem kullanarak göreve iletilir ve çağrıları engelleyebilir, bu nedenle, Terminated
bayrağının düzenli olarak kodun içinden kontrol edildiğine güvenemem.
Herhangi bir girdi için teşekkürler. bu konularda durumunda D2010 (TThread
bazı şeyler değişmiş gibi görünüyor)
Bu iyi bir (+1) cevaptır; bakınız İplik emniyeti (iyi) ve tüm pratik amaçlar için sorumlu olan Global Tercüman Kilidi'nin nerede yapıldığı python iş parçacığı, çok iş parçacıklı kodları tek bir çekirdekle (kötü) sınırlar. Bu soruna en iyi çözüm, iş parçacığı değil, çok işlemcili paket ile işlemler yapmak ve bu anlık yetenekle elde edilen, birden fazla makinede ölçeklenerek elde edilmesi ve sonuçta büyük ölçeklendirme için gerekli hale gelmesidir. İplik güvenliği konusunda endişe etmek yerine, Delphi'de kolay (daha kolay) çoklu işlem yönetimine sahip olmak daha iyi olacaktır. –
Semapforlar “terk edilmiş” bir devlete sahip değildir çünkü onlar yerleşik bir mülkiyet kavramına sahip değildir. (İşletim sistemi söz konusu olduğunda, bir iş parçacığı bir semaforu "tutamaz". Yalnızca bir muteks algılanabilir şekilde terk edilebilir. –
Bu, engelleme kodları ile kesintili görevleri uygulamak için iyi bir yol olabilir, ancak sorudaki (anonim yöntemler için kesintili bir görev) Delphi ile nasıl uygulanacağını göremiyorum. Anonim bir yöntemden (farklı bir işlem olarak oluşturulacak) bir yürütülebilir dosya oluşturmak için bir çalışma zamanı derleyicisi olması gerekirdi, orada olmaz mıydı? – mghie