Derinlemesine Threading..(3)

Threading ile ilgili bir önceki makelemizde Event ve WaitableTimer senkronizasyon mekanizmalarını anlatmış ve konuya ışık tutabilmesi adına örnekler paylaşmıştık. Makalemizin sonunda ise; bir thread’i normal yollarla durdurabilmek için(TerminateThread API’sini kullanmadan) bir makale yazacağımdan bahsetmiştim. Bu makalemizin konusu verdiğim söz gereği; bir thread’i sonlandırma seçenekleri ile ilgili olacak.
Ancak, sizlerden ricam bu makalede ilerlemeden önce Threading [...]

Continue Reading...

Derinlemesine Threading..(2)

Bir önceki makalemizde thread’ler konusuna giriş yapmış, işletim sisteminin thread’leri nasıl yönettiğini ve thread’lerin senkronizasyon mekanizmalarını anlatmaya çalışmıştık. Bu bağlamda Critical Section, Mutex, Semaphore senkronizasyon mekanizmalarını izah etmiştik. İlk makalemizde değinmediğimiz 2 adet senkronizasyon mekanizmasına da bu makalede temas etmeye çalışacağız. Event ve Waitable Timer adı verilen bu mekanizmalar da tıpkı diğer senkronizasyon mekanizmaları [...]

Continue Reading...

Derinlemesine Threading..(1)

Hâla programlama aleminde threading uzak kalınası bir mesele gibi gözlemleniyor. Aslında belli başlı kurallar bilindiğinde bu konunun korkulacak bir konu değil ancak dikkatle ele alınması gereken bir konu olduğu anlaşılacaktır. Genellikle thread dediğimiz mekanizmayı yazdığımız kodların paralel çalışabilmesi için kullanırız. Ancak kullandığımız işletim sistemleri gerçek mânada multi-threaded olmadıkları için hepimizin başına bir ton sorun gelmiştir [...]

Continue Reading...

49.7 gün sonra GetTickCount !

Eğer sizlerde projelerinizde zamansal kontroller kullanıyorsanız, iki kod sürecinin arasındaki zaman dilimini hesaplıyorsanız muhtemelen GetTickCount API’sini kullanıyorsunuz demektir. Bu API, işletim sistemi açıldığı zaman sıfır(0)’a eşitlenen ve her milisaniyede bir değeri bir arttırılan işletim sistemine has bir değişkenin değerini bizlere geri verir. Win32 API Help’te tanımı aşağıdaki gibidir:

DWORD GetTickCount(VOID)

Görüldüğü üzere geri dönüş değeri [...]

Continue Reading...

Bir Kiosk ve CreateDesktop macerası..

Bu yazıma gecenin bu saatinde başladığıma göre büyük ihtimalle yarın işe geç kalacağım. Ama tamamlandığında da bu konuyu 3 gündür makaleleştirememenin verdiği sıkıntıdan da kurtulmuş olacağım. Sanırım bu kafi derecede haz verir bana.
Hayatının herhangi bir anında herhangi bir husus hakkında birşeyler karalamış olanlar bilirler ki, bir şeyi biliyor olmak ile anlatabiliyor olmak cidden [...]

Continue Reading...

Paranoyaklar için :)

Muhtemelen başlığa bakıp kimse bu yazının ilerleyen satırlarını okumak istemeyecektir, çünkü insan psikolojisi gereği bilinçaltı başlığın kendisine uygun olmadığını düşündürecektir. Ama kimbilir belki yanılırım okuyanlar olur, ne de olsa tüm dünya üzerinde for Dummies serisi makale ve kitaplar nerede ise yok satıyor
Siz değerli okuyucularıma paranoyak demiyorum ama benim bazen paranoyakça davrandığım [...]

Continue Reading...

Programımız hafızada kaç KB yer kaplıyor ?

Yazdığımız programların hafızada ne kadar yer kapladıkları bilgisini elde etmenin pek çok yolu olmasına rağmen sanırım en iyi yöntem PSAPI.DLL içindeki metodları kullanmak. Bizim sevgili Delphi’miz sağolsun bu DLL’in içindeki metodları psAPI.pas(WinNT process API Interface Unit) içinde deklere etmiş. Bizlere sadece kullanmak kalıyor. Unit’i incelediğimizde pek çok yararlı metodun tanımlı olduğunu gözlemleyebiliyoruz. Processleri listeleyenlerinden [...]

Continue Reading...

Nedir bu Thread’lerden çektiğimiz..!

Uzun yıllık programcılık hayatımda pek çok defalar Thread kullandım ancak ilk defa bu kadar yoğun ve derinlemesine kullanma ihtiyacı hissettiğim bir projede çalıştım. Bu projemde TThread sınıfı ile uğraşırken karşılaştığım bazı sorunları sizlerle de paylaşmak istedim. Sizler önlemlerinizi baştan alın ki, saç baş yolmayın…
Eğer gerçekten time-critical işler yapıyorsanız thread’iniz içerisinde kesinlikle Synchronize kullanmayın.Çünkü Synchronize çağrısı [...]

Continue Reading...

Uygulamamızın kullandığı hafıza miktarını nasıl düşürebiliriz ?

Hepimizin bildiği gibi yazdığımız uygulamalar işletim sisteminde Process olarak adlandırılmaktadır. Her bir process en az bir main thread’e sahiptir. Bu iş parçacıkları, derlenmiş ikilik formattaki ham bilginin işletim sisteminin bellek yöneticisi vasıtası ile hafızaya yüklenerek işletilmesi ile hayat bulur. İşletim sistemlerinin bellek yönetimini nasıl yaptıkları son derece karmaşık bir konudur. Bir işletim sisteminde aynı [...]

Continue Reading...

Tuşa basma işkencesi..

Diyelim ki bir program yazdınız ve programınızın içine sürpriz yumurta koymak istiyorsunuz.Yada kullanıcılara feci eziyet etmek istiyorsunuz. Bu amaçla çok zorlu bir tuş kombinasyonu kullanmak istiyorsunuz. Mesela biz bu örneğimizde Ctrl + Shift + F5 + 7 + 8 tuşlarına basılınca birşeyler yapacağız. (Tabii bu tuşlara aynı anda basmayı becerebilirsek )
Yine herzaman [...]

Continue Reading...
  • Plugin WP FlashTime by horoscop 2009.org requires Flash Player 8 or better currency converter calculator.Plugin creat de horoscop | horoscop saptamanal | horoscop zilic | horoscop | play sonic games

    Get Adobe Flash player
  • Etiketler
  • Son Yorumlar
  • Son Yazılar
  • Kategoriler
  • Takvim
    Eylül 2010
    Pts Sal Çar Per Cum Cts Paz
    « Haz    
     12345
    6789101112
    13141516171819
    20212223242526
    27282930  
  • Arşivler
  • Ziyaretçi Bilgileri
    Ziyaret: 28 / 4479
  • Beğenilenler
  • Meta
  • Etiketler-Liste
  • RSS Delphi About
  • Sık Ziyaret Edilenler
  • Oylama..

    Sitedeki makaleleri yararlı buluyor musunuz ?

    View Results

    Loading ... Loading ...

    Delphi'nin hangi sürümünü kullanıyorsunuz ?

    View Results

    Loading ... Loading ...