Aynı anda procedure birden fazla adet çalışır mı?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
cozturk
Üye
Mesajlar: 484
Kayıt: 15 Haz 2005 05:22

Aynı anda procedure birden fazla adet çalışır mı?

Mesaj gönderen cozturk »

Tabi "aynı anda aynı procedure birden fazla kopya halinde çalışır mı sorusunu " deneyerek bulabilirim. bunun için de ufak bir prog. yazmak gerekir.

Bir programımda progamın doğası gereği aynı anda çalışması gerekebilir.
BU durumda hata mı oluşur?

Fakat şuanki durumda "meşgulse bekle " gibisinden bir olay ile bunu engelliyorum. Sebebini bilmediğiim bazı hataları buna bağlamıştım.

Belki de çok temel bir konudur bu. fakat ben delphiye ortadan başladığım için bilmiyorum :D
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Aynı anda birden fazla kere içi içe aynı procedure'ü çalıştırabilirsin. Bunu sınırlayan unsur senin de tahmin edeceğin procedure'ün dışa bağımlılığıdır.

- Bu durum şarta göre oluşsun ve de dolaysıyla sonsuz döngüye girmesin yeter. :lol:

- İhtiyaç duyulabilecek durumlar dinamik uygulamalardır. Örneğin bir dizindeki dosyaların alt dizinlerine kadar listelenmesi. Daha önceden kestirilemeyecek kadar sayıda alt dizin olabilir. Aynı alt dizin routinleri bir sonraki alt dizin için tekrar çalıştırılmak istenebilir. Bu örneklerden sadece biri...
Resim
Resim ....Resim
Kullanıcı avatarı
miskin
Üye
Mesajlar: 103
Kayıt: 26 Tem 2005 02:02
Konum: Gavuristan

Mesaj gönderen miskin »

soruyu anlamadim ama, TThread lere bak.
miskin
Ve Tanri, bütün kullarini davul edecek :)
cozturk
Üye
Mesajlar: 484
Kayıt: 15 Haz 2005 05:22

Mesaj gönderen cozturk »

hmm anladım. Sınır, procedure'ün dışa bağımlılığıdır. mesela aynı dosyayı tekrar açmak gibi durumlar olmamalı.

heheh ben şimdi bunları okuyunca bunu bende anlardım keşke sormasaydım dedim ama insasın aklı bazen duruyor.

biri çıkıp olmaz kullnamazsın! dese idi nolacaktı? tabi yine kullanmaya çalışacaktım saolun arkadaşlar bu forum acayip dinamik. anında cevap geliyor. hepinize teşekkür .
Kullanıcı avatarı
Opt2000
Üye
Mesajlar: 216
Kayıt: 09 Tem 2003 10:04

1 sınır daha var

Mesaj gönderen Opt2000 »

Selam,

Procedurun birden fazla kopyasının çalışmasının bir sınırı daha var aslında. Eğer Rekürsif (kendi kendini çağıran fonksiyon) fonksiyon kullanıyorsan (örneğin alt dizinleri listeleme, Flood Fill gibi) pek de belli olmayan bir sınır vardır. Bu da stack'in dolması (stackin tam kapasitesi ve fonksiyonun ihtiyacı belli olmadığı için belirsiz) ve sonunda ortaya çıkan Stack overflow hatası. Bunun çözümü de açıkçası fonksiyona göre değişmekle beraber, temel mantığın fonksiyonun bir kaç parçaya bölünmesi ve bir kontrol fonksiyonu ile rekürsif fonksiyonun while döngüsüne çevrilmesidir. Bununla ilgili net bir örnek gönderemiyorum, çünkü dediğim gibi her rekürsif fonksiyon için değişik bir yöntem uygulamak gerekiyor.

Kolay gelsin
Bahadır Alkaç
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

sanırım bunun bir kaç sınırıda daha olmalı aslında sınırıda sınırsızlıkta kalmasından ama sen bunu denediğinde emin ol sınırlaını öğreneceksin
Siz hayal edin...Biz yapalım TuannaSoft...
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Eşzamanlı çalışmasından bahsediyorsak Thread kullanman gerekir. Aksi takdirde bir procedure çalışmayı bitirdikten sonra diğeri başlar.
Cevapla