Farklı Paralel İş Örnekleri
'For' döngüsünü kullanarak paralel işleri çalıştırmanın farklı yolları, eğitimin bu bölümünde gösterilmektedir.
Örnek 1: 'For' Döngüsünü Kullanarak Paralel İşleri Çalıştırın
Bash betiğinde paralel işleri gerçekleştirmenin daha basit yolu “for” döngüsünü kullanmaktır. 'For' döngüsünü 10000 kez çalıştıran ve 1000 kez yinelemeden sonra bir sayı yazdıran aşağıdaki komut dosyasıyla bir Bash dosyası oluşturun. Bu görev, 'for' döngüsü kullanılarak paralel olarak yapılır.
#!/bin/bash
#10000'e ulaşana kadar döngüyü yinele
için val içinde ` sıra 0 1000 10000 ` ;
Yapmak
#Her 1000. sayıyı yazdır
Eko $val
Tamamlandı
Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünür. Çıktıda yazdırılan 0 ile 10000 arasında 10 sayı vardır:
Örnek 2: İç İçe 'For' Döngüsünü Kullanarak Paralel İşleri Çalıştırın
'A'dan 'C'ye kadar olan alfabetik karakterleri ve 1'den 3'e kadar olan sayıları kullanarak seri numarasını oluşturan iç içe geçmiş 'for' döngüsünü çalıştıran aşağıdaki betiği içeren bir Bash dosyası oluşturun. Dış döngünün ilk yinelemesinde ve sonrasında iç döngünün yinelemesini tamamlama, “A1. CodeIgniter”, “A2. Laravel” ve “A3. CakePHP” yazdırılır. Dış döngünün ikinci yinelemesinde ve iç döngünün yinelemesini tamamladıktan sonra “B1. Oracle”, “B2. MySQL” ve “B3. SQL” yazdırılır. Dış döngünün üçüncü yinelemesinde ve iç döngünün yinelemesini tamamladıktan sonra “C1. CSS”, “C2. JQuery” ve “C3. JavaScript” yazdırılır.
#Dış döngü
için alfa içinde { AC }
Yapmak
#İç döngü
için sayı içinde { 1 .. 3 }
Yapmak
#Çıktıyı koşula göre yazdır
eğer [ $alfa == 'A' ] ; Daha sonra
diziListesi = ( 'Kod Ateşleyici' 'Laravel' 'KekPHP' )
elif [ $alfa == 'B' ] ; Daha sonra
diziListesi = ( 'Kâhin' 'MySQL' 'SQL' )
elif [ $alfa == 'C' ] ; Daha sonra
diziListesi = ( 'CSS' 'JQuery' 'JavaScript' )
olmak
Eko ' $alfa $sayı . ${arrayList[$number-1]} '
Tamamlandı
Tamamlandı
Komut dosyası yürütüldükten sonra aşağıdaki çıktı görünür:
Örnek 3: 'For' Döngüsü ve 'Bekle' Komutunu Kullanarak Paralel İşleri Çalıştırın
'Bekle' komutu, birden çok iş çalışırken bir işin görevi tamamlamasını beklemek için kullanılan Bash'in çok kullanışlı bir komutudur. Daha az iş çalışıyorsa, 'bekle' komutu yeni bir işi eşzamansız olarak başlatır. İç içe 'for' döngüsü içinde bir arka plan işi çalıştıran aşağıdaki komut dosyasıyla bir Bash dosyası oluşturun. Tüm alt süreçlerin tamamlanmasını beklemek için “bekle” komutu kullanılır. Arka plan işlemi olarak “date” ve “sleep” komutları yürütülür.
#Dış döngüiçin Ben içinde { 1 .. 2 }
Yapmak
#İç döngü
için J içinde { 1 .. 3 }
Yapmak
eğer Ölçek ' $(işler | wc -l) ' -ge 2 ; Daha sonra
Beklemek -N
olmak
#Arka plan işlemi
{
tarih
uyumak 1
} &
Tamamlandı
Tamamlandı
Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünür. Geçerli tarih ve saat, iç içe geçmiş “for” döngülerini 2×3=6 kez yinelemek için arka plan işleminden 6 kez yazdırılır:
Örnek 4: Sıralı ve Paralel Çalıştırmalar Arasındaki Farklar
Sıralı çalıştırma ile paralel çalıştırma arasındaki farkları gösteren aşağıdaki komut dosyasıyla bir Bash dosyası oluşturun. prn_char() işlevi, betikte 0,5 saniye süreyle beş karakter yazdırmak için tanımlanmıştır. Ardından, prn_char() işlevini sırayla çalıştırmak için ilk “for” döngüsü kullanılır. İkinci 'for' döngüsü, prn_char() işlevini paralel olarak çalıştırmak için kullanılır.
#0,5 saniye süreyle 5 karakter yazdırmak için bir işlev tanımlayınprn_char ( ) {
için C içinde Merhaba; Yapmak
uyumak 0,5 ;
Eko -N $ c ;
Tamamlandı
Eko
}
#For döngüsünü sırayla kullanarak işlevi çalıştırın
için dışarı içinde { 1 .. 3 } ; Yapmak
prn_char ' $ çıkışı '
Tamamlandı
#For döngüsünü paralel olarak kullanarak işlevi çalıştırın
için dışarı içinde { 1 .. 3 } ; Yapmak
prn_char ' $ çıkışı ' &
Tamamlandı
Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünür. Ardışık çalıştırma ile paralel çalıştırma arasındaki fark çıktıda gösterilir. Burada, prn_char() işlevinin “for” döngüsünün tüm karakterleri ardışık çalıştırmada bir defada yazdırılır ve paralel çalıştırmada her karakter üç kez yazdırılır:
Çözüm
Paralel işleri 'for' döngüsü kullanarak çalıştırmak birçok programlama amacı için gereklidir. 'For' döngüsünü kullanarak paralel işleri çalıştırma yöntemleri bu öğreticide gösterilmektedir.