Multi-Threading kavramı ile Python/THT Ar-Ge kulübü

Hacknology

Kıdemli Üye
25 Eki 2015
2,712
11
rm -rf /
Merhabalar. Öncelikle kulübümüz bütün forum ailesine hayırlı olsun. İlk yazımda sizlere multi-threading kavramından ve python'da örneklerinden bahsedeceğim.

Değinmeden geçemeyeceğim, python'un bir dezantajı şu ki; Bu tür zamanlarda performans açısından eksik kalıyor. Misalen -Sabah bir arkadaşım söyledi bunu- c de yapacağınız 37k thread python'daki 1k thread dan daha az yer kaplamakta bellekte.

Peki yahu anladık da nedir bu thread?

Thread, genel anlamda birden çok işlemi aynı anda yapmanıza yarar. Bir mutfak örneği verecek olursam...
-Yemekleri topla
-Bulaşıkları yıka
-Fırını kapat

Siz bu komutu bilgisayara verdiğinizde, bilgisayar önce yemekleri toplamasını, sonra bulaşıkları yıkamasını, sonra ise fırını kapatması gerektiğini anlar. Ama ya bu kadar zamanımız yoksa ve 3 işi birden aynı anda yapmamız gerekiyorsa? İşte karşınızda: Multi-Threading.
Python üzerinden gidecek olursam, threading için gerekli fonksiyonu içe aktarmamız gerekir. Bu da
Kod:
from threading import Thread
0x00
Komutu ile gerçekleşir. Örnek bir script üstünden yürüyecek olursak..
Kod:
from threading import Thread
def hello():
    print("Hello World")
for i in range(10):
    Thread(target=hello).run()
0x01
Gördüğümüz gibi sadece "Hello World" stringini ekrana yapıştıran bir fonksiyon belirledik. Normal şartlar altında bu karakter dizinini ekrana yapıştırıp programı sonlandırması lazımdı. Fakat biz alttaki for döngüsünde 10 adet thread açıp bunların hepsini bir elden çalıştırdık. (.run() çalıştırmaya yarar) Bakalım bize nasıl bir çıktı verdi:
Kod:
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
>>>
0x02
Bu şekilde brute force'larınızı,dork maker'larınızı ve daha sayamayacağım kadar çok projenizi daha hızlı yapabilirsiniz. İyi günler
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.