- 29 Tem 2017
- 219
- 0
Threading Modülü
Threading'i dilerseniz ne olduğunu tekrardan söylim. Pythonda bir çok paralel işlem yapmayı sağlar. Thread'lar aynı işlem içeresinden,bir kaç daldan çalışırlar. Yani aynı hafıza ve kaynağı kullanırlar. Birden fazla thread aynı veri üzerinden çalışabilir.
Dilerseniz python'da import ederek çalıştığımız ortama aktaralım.
Bir class oluşturalım. Oluşturduğumuz bu classta bir iş parçacığı oluşturmak için Thread objesinden faydalanıcağım.
Gördüğünüz üzere çok basit bir kodlama ile bir class oluştuduk. Bu class'ımızı biraz da süsleyip işlevsel hale getirelim. Ne yapabiliriz mesela? Mesela öncelikli olarak bir run adında bir fonksiyon olıuşturup nasıl bir iş yapılmasını istiyorsak bu fonksiyona atayabiliriz. Daha sonra time modülünü çağırıp sleep objesi sayesinde iş parçacıkların düzenli bir zaman içerisinde çalışmasını sağlayabiliriz. Eğer sleep objemizi kullanmadan yaparsak ne olur? Arkadaşlar çıktılarımız düzensiz ve çok hızlı bir şekilde, rastgele süre içerisinde çalışır. Ama sleep objesi sayesinde biz zamanlama ayarı yaparak çıktılarımızı daha olumlu bir şekilde alabiliriz.
Zamanlamamızı belirledik. Random modülü ile 5 tane iş parçacığı ve bunlar için geçen saniye ve değerlerini alacağız. Şimdi dilerseniz artık iş parçacığımızı oluşturalım. Bunlar için oluşturduğumuz isparcacigi adlı class' ımız ve işlemleri çalıştırmak için start() objesinden faydalanacağız.
Son olarak join() objemiz ile iş parçacıklarımızın işlemlerini tamamlandıktan sonra sona ermesini sağlıyacağız. Aksi hale iş parçacıkları işlemlerini tamamlanmadan sona erebilir.
Şimdi programımızın son haline bir bakalım.
Bir de çalıştıralım.
Threading'i dilerseniz ne olduğunu tekrardan söylim. Pythonda bir çok paralel işlem yapmayı sağlar. Thread'lar aynı işlem içeresinden,bir kaç daldan çalışırlar. Yani aynı hafıza ve kaynağı kullanırlar. Birden fazla thread aynı veri üzerinden çalışabilir.
Dilerseniz python'da import ederek çalıştığımız ortama aktaralım.
Bir class oluşturalım. Oluşturduğumuz bu classta bir iş parçacığı oluşturmak için Thread objesinden faydalanıcağım.
Gördüğünüz üzere çok basit bir kodlama ile bir class oluştuduk. Bu class'ımızı biraz da süsleyip işlevsel hale getirelim. Ne yapabiliriz mesela? Mesela öncelikli olarak bir run adında bir fonksiyon olıuşturup nasıl bir iş yapılmasını istiyorsak bu fonksiyona atayabiliriz. Daha sonra time modülünü çağırıp sleep objesi sayesinde iş parçacıkların düzenli bir zaman içerisinde çalışmasını sağlayabiliriz. Eğer sleep objemizi kullanmadan yaparsak ne olur? Arkadaşlar çıktılarımız düzensiz ve çok hızlı bir şekilde, rastgele süre içerisinde çalışır. Ama sleep objesi sayesinde biz zamanlama ayarı yaparak çıktılarımızı daha olumlu bir şekilde alabiliriz.
Zamanlamamızı belirledik. Random modülü ile 5 tane iş parçacığı ve bunlar için geçen saniye ve değerlerini alacağız. Şimdi dilerseniz artık iş parçacığımızı oluşturalım. Bunlar için oluşturduğumuz isparcacigi adlı class' ımız ve işlemleri çalıştırmak için start() objesinden faydalanacağız.
Son olarak join() objemiz ile iş parçacıklarımızın işlemlerini tamamlandıktan sonra sona ermesini sağlıyacağız. Aksi hale iş parçacıkları işlemlerini tamamlanmadan sona erebilir.
Şimdi programımızın son haline bir bakalım.
Bir de çalıştıralım.